2017-02-16 96 views
0

我遇到了這個真正奇怪的500內部服務器錯誤(在標題前輸出腳本結束)。它發生在我嘗試執行需要相當長時間運行的.php文件時。我已經採取了預防措施,將set_time_limit(120); ini_set('max_execution_time', 120);添加到文件中。 2分鐘就夠了。我也宣佈header('Content-Type: text/plain');PHP奇數500服務器錯誤

現在奇怪的是 - 大部分時間,代碼實際上完全執行,直到最後一個exit();已經執行完畢(我無法檢查最後一個出口是否通過)。但是,我仍然收到500內部服務器錯誤(日誌說End of script output before headers)。

即使是比較奇怪的是,如果我在5-10分鐘內第二次運行該文件,它的運行狀況將會非常好。 有時候,代碼只是停留在事物的中間並拋出錯誤。

如果它很重要,當腳本停在中間時,通常在從一個xml文件中讀取項目並將它們寫入一個csv文件時,它通常在foreach循環中。它總是在一個循環完成時。

我真的沒有任何線索爲什麼會發生這種情況。

任何幫助,將不勝感激。

非常感謝你,
fraeckey

+0

沒有實際的代碼,很難說出可能出錯的東西。您必須先進行自己的調試,並將問題縮小到代碼的特定部分,然後與我們共享這些部分。 – Shadow

回答

0

你很可能運行到與您的網絡服務器的問題更多。如果它是apache,那麼有Timeout Directive。您可能還會遇到內存問題,它們在php.ini和apache中都有設置。但沒有更多的細節..恐怕這是我能提供的。

-1

如果您使用Wordpress,可能會出現一些語法錯誤。在開發模式下運行你的代碼。你會看到錯誤。否則它會一直顯示500錯誤。