【发布时间】:2012-02-03 01:59:13
【问题描述】:
我为朋友开发了一个应用程序,他最近因过载问题更换了专用服务器。
自从这次迁移以来,网站的一部分不再工作:PHP 中的套接字上的连接。
在这部分,我必须与另一个服务器建立连接,所以我实现了一个打开套接字的功能:
function openSocket($host, $port) {
$fp = fsockopen($host, $port, $errno, $errstr, 30);
if (!$fp) {
return 0;
}
fputs($fp, $envoi);
return $fp;
}
在代码中,我是这样使用这个函数的:
$sock = openSocket($host, $port);
while (!feof($sock)) {
echo fread($sock, 8192);
}
fclose($sock);
有时,我需要打开套接字几分钟,自从迁移后,我的朋友在他的日志中出现了这个错误:
PHP 警告:fsockopen(): 无法连接到 ...:80 (Connection 超时)在...中,引用者:...
我搜索了 PHP / Apache 中是否有特定的配置,但我一无所获。
我尝试增加 fsockopen 或 stream_set_timeout() 函数的最后一个参数,但没有任何效果。
感谢您的帮助
【问题讨论】:
标签: php sockets connection fsockopen