運行環境為Ubuntu14.04
php腳本
無論用Apache還是nginx都會在R語言運行一半時終止運行(在需要等待運行3~5秒時的步驟停止)
但用php在命令行模式
php -f result.php
卻能完整運行。
請問是否能通過修改php配置,解決這個問題
回復內容:
運行環境為Ubuntu14.04
php腳本
無論用Apache還是nginx都會在R語言運行一半時終止運行(在需要等待運行3~5秒時的步驟停止)
但用php在命令行模式
php -f result.php
卻能完整運行。
請問是否能通過修改php配置,解決這個問題
這篇文章寫的挺詳細的(英文):https://rtcamp.com/tutorials/php/increase-script-execution-time/
歸納一下:
php.ini:max_execution_time 應該足夠長
php-fpm.ini:request_terminate_timeout 應該足夠長
nginx:fastcgi_read_timeout 應該足夠長
首先php-cli對腳本運行時間是不做限制的。可以參考http://www.php100.com/manual/php/features.commandline.html。一個常規的Web請求都希望在很短時間內得到響應,所以正常的php-cgi腳本執行是受到配置文件的最長執行時間限制的,apache還好一些,Nginx通過proxy來轉發請求,它在這里也會設置一個最長等待時間,超時了就返回5**類似的錯誤了。如果你的任務都需要很長時間來執行,建議不要使用HTTP來訪問PHP了,可以轉為后臺執行
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!