如何运行5个使用不同eth接口的php进程?

我使用cron来运行日常脚本,它必须运行5个php-cli进程。 我需要他们使用单独的接口。

我有5个设备,eth0,eth1,eth2,eth3,eth4。

我怎样才能调用PHP,以确保它只使用其中之一?

它运行在Centos 6.6上

这是从stackoverflow相关的post。

您需要使用如下的函数调用来设置接口名称或IP地址。

 curl_setopt($curlh, CURLOPT_INTERFACE, "xxx.xxx.xxx.xxx"); 

为什么要在每种情况下使用不同的界面? 除非你是基准接口,出于某种原因想要在PHP中这样做,那么可能有更好的解决scheme。

libcurl确实实现了这种function,但我不确定php的绑定。 如果它不在那里,你可以直接通过shell调用来使用curl命令。 从手册页 :

  --interface <name> Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like: curl --interface eth0:1 http://www.netscape.com/ 

(哇,netscape.com,呃?没有人在一段时间去了那个男人页)。