我有一个具有多个 ip 的 Linux 服务器(因此,多个 eth0、eth0:0、eth0:1 等)。我试图启动的脚本是一个 php CLI 脚本,它从另一个服务器 API 下载东西,我想根据不同的参数更改 IP。脚本启动后,我不再需要更改特定脚本的 ip,直到他结束。
如果有可能实现它,您是否有任何线索?我的另一个解决方案是安装 Xen 或 OpenVZ 并为每个 IP 创建 N 个不同的 VPS,但正如您所看到的,绝对是一个 PITA :-)
我有一个具有多个 ip 的 Linux 服务器(因此,多个 eth0、eth0:0、eth0:1 等)。我试图启动的脚本是一个 php CLI 脚本,它从另一个服务器 API 下载东西,我想根据不同的参数更改 IP。脚本启动后,我不再需要更改特定脚本的 ip,直到他结束。
如果有可能实现它,您是否有任何线索?我的另一个解决方案是安装 Xen 或 OpenVZ 并为每个 IP 创建 N 个不同的 VPS,但正如您所看到的,绝对是一个 PITA :-)
您没有指定如何连接到其他服务器,但使用套接字您可以尝试socket_bind。
编辑:使用 curl 您可以尝试curl_setopt。CURLOPT_INTERFACE 要使用的传出网络接口的名称。这可以是接口名称、IP 地址或主机名。
我知道如何在 C 中执行此操作 - 在调用 connect() 之前在套接字上使用 bind(),然后绑定到分配给所需接口的 IP 地址,将 0 传递给端口。我不知道如何在 PHP 中做到这一点。