如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2020年7月20日

PHP程式解決記憶體不足的錯誤 "Allowed memory size of ... bytes exhausted"

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2020/7/20

PHP程式執行時發生下面錯誤
Fatal error: Allowed memory size of ... bytes exhausted (tried to allocate ... bytes) in  ….
表示是可用記憶體已耗盡。
可透過兩種方法解決 :
1、修改php.ini
例如 : memory_limit = 128
這種方法需要重啟web服務器。

2、在程式中使用ini_set函數修改設訂選項值
例如 : ini_set ('memory_limit', '128M')

如果一直加大記已體還解決不了問題,那麼可能程式中發生幾種無限耗用資源的情況
1 無窮的迴圈 : 迴圈中持續分配記憶體,例如增加陣列大小
2 無窮的遞迴程式 : 遞迴程式沒有寫好結束的條件。

3 使用了過大的陣列或過多的變數 (註 : 程式中不再用到陣列或變數,可使用unset()或$var = null釋放記憶)

好好檢查程式吧!

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)