php記憶體溢位了怎麼辦?

deww發表於2021-07-06

php記憶體溢位了怎麼辦?

記憶體溢位的原因有很多,常見的下面幾種:

1、記憶體中載入資料量有點大,比讀取多個text型別資料,讀取大檔案日誌50M以上。

2、集合類中有對物件的引用,使用完後未清空

3、程式碼中存在死迴圈或迴圈產生過多重複的物件實體

4、PHP配置引數過小

總結:一旦記憶體溢位了不要慌,分析原因。需要注意的是想辦法對陣列進行分批處理,分而治之,將用過的變數及時銷燬(unset),一般是不會出現溢位問題的。為了節省PHP程式記憶體損耗,我們應當儘可能減少靜態變數的使用,在需要資料重用時,可以考慮使用引用(&)。再一點就是:資料庫操作完成後,要馬上關閉連線;一個物件使用完,要及時呼叫解構函式(__destruct())

中高階PHP開發工程師(熟悉php框架)

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章