我正在努力通過XML導入數據的腳本。總共有約19,000種產品,分佈在76個文件上,我的腳本遍歷每個文件,解析數據並將其導入數據庫。腳本終止沒有明顯的原因
由於某種原因,腳本終止而不告訴我什麼是錯的。
- 我使用
error_reporting(E_ALL);
與ini_set("display_errors", 1);
- 我對SQL的錯誤報告,但沒有任何錯誤
- 我通過
memory_get_usage()
跟蹤內存使用情況 - 犯規來設定近memory_limit
- 我重置了每個項目的
time_limit()
並且有充裕的時間
奇怪的是腳本停止在不同的點上,根據我輸出的日誌量。如果我不更改輸出,則腳本會停在同一點。如果我添加(或刪除)額外的日誌記錄(/輸出)腳本停止在不同的點。
它似乎與內存或超時有關,因爲根據輸出在隨機點終止,但我無法弄清楚是什麼導致了它。沒有錯誤信息...
我該怎麼做才能找出問題所在?
更新
似乎錯誤不會顯示在所有的服務器上。我只是強迫一個致命的錯誤(刪除了一個分號),然後我收到瀏覽器消息,說有500服務器錯誤。當我在本地機器上做同樣的事情時,我收到一條真正的錯誤消息。這可能是什麼?當我打印error_reporting()
我得到「1」和ini_get("display_errors")
顯示我「6143」(這是E_ALL)。我怎樣才能顯示錯誤信息?
我也檢查phpinfo()
的時間限制,默認爲30,但是當我phpinfo
前加set_time_limit(60);
,它表明60所以這一切似乎正確。按照的phpinfo safe_mode
熄滅
定時我看到它在12秒後死去的腳本執行後 - 因此,它不能是的時限
你確定你的'error_reporting'和/或'display_errors'設置沒有被重寫嗎? – Jon
'display_errors'只能通過'php設置。ini' – Amir
@Amir它可以用'ini_set'設置 –