使用fsockopen()的php函数来实现异步请求, 当主机是'localhost'或'127.0.0.1'或该服务器的域名时。它不起作用。 如果主机是局域网ip(例如,192.168.3.11)地址,那就有效了。
并且服务器可以从互联网上的其他服务器接收fsockopen请求,也可以将fsockopen请求发送到互联网上的其他服务器。
我的代码:
sudo ln -s /etc/nginx/sites-available/ideconnect.com /etc/nginx/sites-enabled/ideconnect.com
sudo ln -s /etc/nginx/sites-available/iclock.com /etc/nginx/sites-enabled/iclock.com
假设问题服务器的域名是:www.problem.com 它的Internet ip是:8.8.8.8 它的局域网ip是:192.168.0.123 假设第三方服务器的IP是:9.9.9.9
问题服务器发送请求:
async_post(“127.0.0.1”,“xxx.php”,$ data)无效
async_post(“localhost”,“xxx.php”,$ data)无效
async_post(“www.problem.com”,“xxx.php”,$ data)无效
async_post(“9.9.9.9”,“xxx.php”,$ data)工作
第三方服务器发送请求:
async_post(“www.problem.com”,“xxx.php”,$ data)工作