看板 PHP 關於我們 聯絡資訊
※ 引述《ROCKIT (ROLL)》之銘言: : 各位長官~~~ : 我最近要把大量的文字檔資料寫入資料庫 : 在程式中已經做了set_time_limit(0)的動作 : 把PHP升級到5.3.5~~也多了garbage_collection的機制 : 改善了之前常常out of memory的問題 : 但是現在遇到更棘手的問題.... : 當程式跑了一段時間之後 會跳出 : Error 101 (net::ERR_CONNECTION_RESET): : 之後我開的所有php程式就會中斷... : google之後 看到有人是改host檔 但是好像也沒用... : 在我還是5.2.X版的時候 一個程式跑個幾天都沒甚麼問題 : 只是要parser資料的時候 常常因為物件的建立而out of memory : 升級之後反而遇到這個我更沒有idea的問題 : 請問有人有類似的經驗嗎?? 或者有其他解決方法可以提供我參考 : 先謝謝大家了!! 不太確定您的問題,不過依照敘述來猜測,你可以檢查一下以下地方 1. 硬體方面:網路設備是否有問題 2. 軟體方面:檢查 MySQL 的環境設定,所有 MySQL 關於連線逾時的變數, 在 System Variables 這邊可以看到 http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html 可以先試著把逾時時間調長,例如 net_read_timeout, net_write_timeout, interactive_timeout 和 wait_timeout 。以 net_read_timeout 為例,系統預設 只有 30 秒,write 則是 60 秒。不過你比較會遇到的情況應該是 interactive_timeout 和 wait_timeout ,但兩者預設逾時值是 8 小時,如果真的 超過,那也卡太久了.. orz 建議可以在程式裡面插 error_log 每塞一次資料就紀錄下來當時的時間點,這樣可以 看出塞資料進去的時間分佈,也可以順便看出來是否真的是因為資料的關係造成逾時。 另外,也要注意一下在 PHP 執行階段中,MySQL 是否有被重新啟動過。 -- The Internet: where men are men, women are men, and children are FBI agents. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.89.121.16