时间:2021-07-01 10:21:17 帮助过:1人阅读
(必须在服务器端)
(必须在服务器端)
用fsockopen fwrite()后 加上usleep(1000) 就可以了,目前稳定。
另外关于PHP超时处理要注意:
下面例子是设置数据传输时的超时,不是整个连接的超时。 如果跟我一样问题的想用当前脚本触发另一个耗时很长的php脚本不要用这种方式,这样设置是无效的。这样的设置是代表当前脚本 等待耗时长的另外一个脚本执行完成后返回数据,传输数据时不能超过一秒,不是说连接超过一秒就断开。
$opts = array(
'http'=>array(
'timeout'=>1, // 设置超时一秒,此处是大坑。
)
);
$context = stream_context_create($opts);
file_get_contents('http://www.url.com/', false, $context);
如果用CURL
设置超时
curl_setopt($ch, CURLOPT_TIMEOUT, 1); // 超时秒
curl_setopt($ch,CURLOPT_NOSIGNAL, 1); //设置毫秒时必加
curl_setopt($ch,CURLOPT_TIMEOUT_MS, 1000); //超时毫秒
// 注意:这个超时设置是代表整个连接的超时设置。不管有没连接上,有没传输数据,到时间了就断开,返回false
--- 云网开 用手机建网站
php异步 推荐workerman
http://doc3.workerman.net/faq/async-task.html
Swoole性能比workerman高点 因为是纯c扩展的缘故
但同样workerman比Swoole安装要方便很多
用ajax异步。
Swoole