我有一個PHP腳本編寫的調用外部命令使用exec將空間數據庫查詢結果編譯成形狀文件。在有大量記錄(比如15,000)的表中,該命令可能需要7分鐘才能執行。該腳本在不需要太長時間的腳本(可能是< 2分鐘)上工作正常,但在較長的腳本(如7分鐘腳本)上頁面將顯示「500內部服務器錯誤」。在審查Apache服務器日誌時,錯誤狀態爲:「腳本標題的提前結束:php-cgi.exe」。我已經調整了php的最大執行時間,以便有足夠的時間,所以我知道這不是這個。是否有最大的阿帕奇被擊中或其他?執行從PHP導致「腳本標題提前結束:php-cgi.exe」錯誤
2
A
回答
1
腳本標題提前結束意味着您的腳本超出了CGI腳本的Web服務器超時。這是一個網絡服務器超時,它與php.ini配置無關。您需要查看CGI處理程序配置以增加CGI腳本運行的時間。
E.g.如果您使用的是mod_fastcgi,您可能需要在Apache配置中指定以下選項:FastCgiServer -idle-timeout 600
這會讓您超時10分鐘。默認fastcgi提供30秒。你可以找到一些其他的FastCGI選擇這裏http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
1
顯然,包含在Apache的2.4默認的httpd.conf文件不會自動包含額外的文件的httpd-default.conf下/ conf目錄/額外的(可能是由設計) ,其中包含超時參數。由於超時參數未定義,它將恢復爲默認值30秒,並且腳本超時。
我做了以下解決它:
- 開業的httpd.conf並添加以下行至底部:
包含的conf /額外/ httpd的默認。 conf
- 重新啓動的Apache,它的工作。
另一種方法是簡單地以下行(多個)添加到的httpd.conf文件:
超時300
的KeepAlive在
MaxKeepAliveRequests 100
的KeepAliveTimeout 5
希望這可以幫助那裏的人:)
相關問題
- 1. 腳本標題提前結束python cgi腳本錯誤
- 2. Perl腳本不工作..(錯誤:腳本標題提前結束)
- 3. imagefill()導致'腳本標題提前結束'
- 4. 腳本標題提前結束:C++ cgi
- 5. 腳本標題提前結束:CGI + C++
- 6. 錯誤:腳本標題的提前結束
- 7. 錯誤500 - 腳本標題的提前結束
- 8. 500服務器錯誤:腳本標題提前結束:
- 9. 錯誤消息:腳本標題的提前結束
- 10. Rails應用程序錯誤:腳本標題提前結束
- 11. django-social-auth錯誤500:腳本標題提前結束:django.wsgi
- 12. Python腳本標題錯誤的提前結束
- 13. 導軌生產:腳本標題的提前結束
- 14. 腳本標題提前結束:在基本的python腳本
- 15. PHP/Joomla「腳本標題提前結束:cgi_wrapper」
- 16. Python腳本中腳本標題的提前結束
- 17. 腳本提前結束?
- 18. Apache:標題前腳本輸出結束
- 19. 腳本標題提前結束:php5 Symfony產生內部服務器錯誤500
- 20. magento網站上的內部500錯誤。腳本標題提前結束
- 21. 服務器內部錯誤:file.cgi中腳本標題的提前結束
- 22. PHP結束腳本執行全自動
- 23. Weka錯誤提前結束
- 24. mod_fcgid讀取數據超時 - 腳本標題的提前結束
- 25. PHP web服務,在腳本執行結束前發送響應
- 26. PHP腳本導致HTTP錯誤500
- 27. PHP腳本導致服務器錯誤
- 28. Python的CGI腳本錯誤:頭前的腳本輸出結束
- 29. 腳本導致錯誤
- 30. VPS上的腳本提前結束