首頁  >  文章  >  後端開發  >  為什麼即使 PHPInfo 顯示足夠的內存,我的 PHP 腳本也會遇到「允許的記憶體大小」錯誤?

為什麼即使 PHPInfo 顯示足夠的內存,我的 PHP 腳本也會遇到「允許的記憶體大小」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-08 05:53:02567瀏覽

Why Is My PHP Script Hitting the

理解「Allowed Memory Size of X bytes Exhausted」錯誤

PHP 錯誤的「Allowed Memory Size of X by經常讓開發人員感到困惑,特別是當PHPInfo 指示看似足夠的記憶體限制時。為了解開這個謎團,讓我們深入研究一下可能的原因。

多種PHP 設定

PHP 的記憶體限制可以在多個位置進行設定:

  • 主系統php.ini
  • Apache的設定
  • CLI/CGI 的php.ini
  • .htaccess 檔案
  • 使用ini_set() 的程式碼

使用ini_set() 的程式碼

使用ini_set() 的程式碼

使用ini_set() 的程式碼

使用ini_set() 的程式碼

使用ini_set() 的程式碼

使用ini_set() 的程式碼

    使用ini_set()
  • PHPInfo 的輸出
  • PHPInfo 顯示memory_limit 的兩個值: “大師”和“本地”。 “Master”值代表預設編譯限制,而“Local”值反映實際有效限制。如果「Local」值與「Master」值不同,則已在上述配置位置之一進行了修改。
  • CLI 與 Web 伺服器
PHP通常使用單獨的 .ini 檔案進行命令列 (CLI) 和基於 Web 伺服器的操作。從 CLI 檢查 PHPInfo 會產生與在基於 Web 的腳本中檢查不同的記憶體限制值。 故障排除要診斷「允許的記憶體大小」錯誤,請考慮以下故障排除步驟:檢查PHPInfo「Local 」中的memory_limit 值以確定實際有效的值查看Apache 設定檔和.htaccess 檔案以尋找任何memory_limit 覆蓋。 如果透過程式碼中的 ini_set() 修改了記憶體限制,請刪除該呼叫或調整 memory_limit參數。 確保命令列和網路伺服器操作使用正確的 .ini 檔案和記憶體限製配置。

以上是為什麼即使 PHPInfo 顯示足夠的內存,我的 PHP 腳本也會遇到「允許的記憶體大小」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn