我有一個PHP腳本,需要大約30秒才能完成。當它通過php cli運行時,它會成功完成(迴應一個確認並將相關結果保存在本地文件系統的文件中)。如果我通過Apache運行相同的文件,它似乎超時約30秒左右,而不是預期的確認消息,Firefox提供我下載一個空文件(其他瀏覽器對待它的方式不同,但基本上,沒有按計劃進行)。應該在文件系統上創建的文件不會被創建。PHP腳本在Apache中超時但不在cli中
由於知道執行時間可能很長,我在腳本的開頭設置了set_time_limit(400)
。
關於如何調試的提示?什麼可能導致腳本在Apache中超時,但不在cli中?
您的主機允許set_time_limit? – Awea
當您從命令行運行腳本時,永遠不會執行PHP執行的限制。這是從命令行運行的PHP和作爲(f)cgi或apache模塊運行的PHP之間的(次要)差異之一。請參閱:http://php.net/manual/en/features.commandline.php – Carpetsmoker
您的服務器是否有權寫入您保存文件的特定位置。 – Ibrahim