如何在PHP中为fsockopen使用特定的传出IP


How can I use specific outgoing IP for fsockopen in PHP?

我应该使用的IP

gethostbyaddr($_SERVER['SERVER_ADDR']);

中,fsockopen为传出。

我有一个这样的结构:

if ($this->sock = fsockopen($host, $this->port, $errno, $errstr, (float) $timeout)) {}

有没有一种方法可以在不更改整个代码的情况下做到这一点?如果没有,请告诉我最短的方法。

不要使用fsockopen()(它是几个网络调用的包装器),而是使用socket(...)创建一个套接字,bind(...)将其连接到特定的本地IP地址(和随机端口),然后使用connect(...)从那里连接到目的地。

您可能需要将变量转换为系统调用所需的特定参数。

哦,这里已经回答了:使用fsockopen 指定源ip