Heim >Backend-Entwicklung >PHP-Tutorial >nginx - LNMPA环境下PHP异步请求的问题
使用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。