nginx - LNMPA環境下PHP非同步請求的問題

來源:互聯網
上載者:User
使用php的socket實現非同步請求。一般的使用以下代碼都可以實現

$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);}

好幾台伺服器都是相同的環境,但是有台伺服器,必須要在fwrite後面加上以下代碼,相應的請求才可以執行。

while (!feof($fp)) {    echo fgets($fp, 1024);}

在本地測試(apache)是沒有問題的,我也懷疑過nginx的問題,但是有其他伺服器使用同樣的配置確實沒有問題,有沒有遇到過這樣的問題的同學,求指教!

回複內容:

使用php的socket實現非同步請求。一般的使用以下代碼都可以實現

$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);}

好幾台伺服器都是相同的環境,但是有台伺服器,必須要在fwrite後面加上以下代碼,相應的請求才可以執行。

while (!feof($fp)) {    echo fgets($fp, 1024);}

在本地測試(apache)是沒有問題的,我也懷疑過nginx的問題,但是有其他伺服器使用同樣的配置確實沒有問題,有沒有遇到過這樣的問題的同學,求指教!

好像是緩衝區的問題, php的output_buffering。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.