Allowed memory size of 134217728 bytes exhausted解決辦法(php內存耗盡報錯)【簡記】


報錯:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in。。。

解析:
134217728/1024/1024 = 128

解釋:

內存已耗盡,這關系到PHP的memory_limit的設置問題,根據自己的需要及參考本機的內存大小修改php內存限制。

這里有三種解決方案 :
1、修改php.ini (改配置)
memory_limit = 128
這種方法需要重啟服務器,很顯然,此方法對虛擬機有限制。
2、通過ini_set函數修改配置選項值 (改代碼)
ini_set (‘memory_limit’, ‘128M’) ;

3、直接取消PHP的內存限制(改代碼)

ini_set ("memory_limit","-1");

值得注意的是如果通過上面的方式修改后還會報這個錯誤,那你要檢查一下你寫的代碼是否存在效率問題。(舉例:從數據庫查詢到的數據加載到內存里面,然后php 進行數據處理,如果代碼寫的不是很嚴謹存在效率問題,特別是數據量非常大的時候也會導致內存耗盡)

本人遇到這個問題就是因為最開始做公司后台管理系統某個統計功能的時候代碼寫的不是很嚴謹,導致后來數據量達到一定量后,出現了內存耗盡。當然咯,自己留的坑最后還得自己填上。本人最終通過重構之前的代碼,優化了代碼執行效率,解決了內存耗盡問題。
---------------------
參考資料:https://blog.csdn.net/qdujunjie/article/details/43672579


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM