報錯:
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted 。。。
解析:
268435456/1024/1024 = 256
解釋:
內存已耗盡,這關系到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 進行數據處理,如果代碼寫的不是很嚴謹存在效率問題,特別是數據量非常大的時候也會導致內存耗盡)
本人遇到這個問題就是因為最開始做公司后臺管理系統某個統計功能的時候代碼寫的不是很嚴謹,導致后來數據量達到一定量后,出現了內存耗盡。當然咯,自己留的坑最后還得自己填上。本人最終通過重構之前的代碼,優化了代碼執行效率,解決了內存耗盡問題。
今日使用織夢的全站更新功能,發現不能使用。當點擊全站更新后,就會出現以下Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 16 bytes) in ……common.func.php文件第241行的錯誤。這里我就到網上找來一些處理辦法,并通過自己實踐,成功解決問題。
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 16 bytes) in ……common.func.php文件第241行錯誤原因分析:更新時可能會因為文件過多從頁造成單個頁面內存使用過多,
提示錯誤為:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 775920 bytes) in……這里是文件位置,
解決方法:
打開這個提示出錯的這個文件,在程序尾加一句:ini_set('memory_limit','-1');就可以了。
處理過程,復制代碼ini_set('memory_limit','-1');然后找到in中對于的文件,并在所在行的結尾加上ini_set('memory_limit','-1');即可。
如對本文有疑問,請提交到交流論壇,廣大熱心網友會為你解答??! 點擊進入論壇