我知道,在/etc/php5/fpm/php.ini
有一個叫default_socket_timeout
設置這實際上終止那些還沒有被推到他們的特定時間內的響應連接。 我正在運行一個基於RabbitMQ的AJAX「偵聽器」,它打開一個連接並等待它收到響應,如果有的話,然後重新啓動。將default_socket_timeout設置爲無窮大?
的問題是,它可以不接收時間長的響應 - 有時甚至高達2小時。當發生這種情況時,聽衆因收到504 Gateway Timeout
而死亡。我知道平均負載 - 這是一個內部系統,只有某個辦公室才能訪問 - 所以太多的套接字不會成爲問題。 有沒有辦法將default_socket_timeout
設置爲「無限制」?我試過default_socket_timeout=0
,但這只是將其恢復爲60秒的默認值。
你試過'-1'?如果這不起作用,您也可以將其設置爲「(1 << 31)-1」(2147483647),超時時間爲68年。順便說一句,我在[fsockopen](http://php.net/manual/en/function.fsockopen.php)這裏讀到'default_socket_timeout'只適用於建立連接;讀/寫超時它建議使用[stream_set_timeout(http://php.net/manual/en/function.stream-set-timeout.php) – Kenney
@Kenney謝謝,我發現,這個設置是不相關的我根本問題,看我的答案。不管怎麼說,還是要謝謝你! –
啊,你解決了,太棒了! – Kenney