首頁 > 後端開發 > php教程 > nginx - LNMPA环境下PHP异步请求的问题

nginx - LNMPA环境下PHP异步请求的问题

WBOY
發布: 2016-06-06 20:48:38
原創
1125 人瀏覽過

使用php的socket实现异步请求。一般的使用以下代码都可以实现

<code>$fp = stream_socket_client($host.':'.$part, $errno, $errstr, 30);
if ($fp) {
    $out = "GET /".$request." HTTP/1.1\r\n";
    $out .= "Host: ".$host."\r\n";;
    $out .= "Connection: Close\r\n\r\n"; 
    fwrite($fp, $out);  
    fclose($fp);
}
</code>
登入後複製
登入後複製

好几台服务器都是相同的环境,但是有台服务器,必须要在fwrite后面加上以下代码,相应的请求才可以执行。

<code>while (!feof($fp)) {
    echo fgets($fp, 1024);
}
</code>
登入後複製
登入後複製

在本地测试(apache)是没有问题的,我也怀疑过nginx的问题,但是有其他服务器使用同样的配置确实没有问题,有没有遇到过这样的问题的同学,求指教!

回复内容:

使用php的socket实现异步请求。一般的使用以下代码都可以实现

<code>$fp = stream_socket_client($host.':'.$part, $errno, $errstr, 30);
if ($fp) {
    $out = "GET /".$request." HTTP/1.1\r\n";
    $out .= "Host: ".$host."\r\n";;
    $out .= "Connection: Close\r\n\r\n"; 
    fwrite($fp, $out);  
    fclose($fp);
}
</code>
登入後複製
登入後複製

好几台服务器都是相同的环境,但是有台服务器,必须要在fwrite后面加上以下代码,相应的请求才可以执行。

<code>while (!feof($fp)) {
    echo fgets($fp, 1024);
}
</code>
登入後複製
登入後複製

在本地测试(apache)是没有问题的,我也怀疑过nginx的问题,但是有其他服务器使用同样的配置确实没有问题,有没有遇到过这样的问题的同学,求指教!

好像是缓冲区的问题, php的output_buffering。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板