首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 頁面記憶體耗盡解決方案:三種調整 memory_limit 方法

     編輯:PHP 綜合知識

解決 PHP "Allowed memory size exhausted" 錯誤

當 PHP 腳本處理大量資料(如匯出 Excel、圖片處理、大量資料庫查詢)時,常會遇到記憶體不足錯誤。以下提供三種調整 memory_limit 的方法,依環境需求選擇。

方法一:修改 php.ini(全域生效,需重啟服務)

; 找到 memory_limit 並調大,例如 16M、128M 或 256M
memory_limit = 128M

修改後必須重啟 Apache/Nginx + PHP-FPM 才能生效。

方法二:在腳本中動態設定(單一腳本生效)

<?php
// 設定為 100MB,或使用 -1 代表不限制(謹慎使用)
ini_set('memory_limit', '100M');

放在腳本最開頭,僅影響當前執行的檔案。

方法三:透過 .htaccess 設定(目錄層級,需 AllowOverride)

php_value memory_limit 128M

放在專案根目錄的 .htaccess,適用於共享主機無法改 php.ini 的情況。

注意事項

  • 不要將 memory_limit 設得過大(如 -1),以免單一腳本佔盡系統記憶體導致伺服器當機。
  • 優先優化程式碼:使用生成器、分批處理、釋放不用變數,從根本降低記憶體峰值。
  • 若頻繁遇到記憶體不足,建議檢查是否有記憶體洩漏或邏輯無限循環。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved