使用 cPanel 安裝過 WordPress 的不少朋友應該都有過類似經歷,訪問 WordPress 出現如下錯誤提示:Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate xxx bytes) 。有的是訪問網站出現,有的是訪問後台時出現,還有的是登入後台後在 dashboard 裏面看到的。這個提示是説,我們正在進行的操作需要這 麼多的內存,但現在站羣服務器分配的內存不足。正常情況下,修改下虛擬 WordPress 主機的預設配置就可以了,下面和大家分享下解決的方法:
1. 修改虛擬 WordPress 主機的內存大小限制
到你的網站根目錄下,建立一個 php.ini 檔案,寫入下面這句:memory_limit = 64M,之後可以通過 phpinfo 函式來檢視 memory_limit 是否已經變成 64M 。方法為新建一個 php 檔案,可以命名成 info.php, 在其中寫入 phpinfo() 函式,儲存後訪問此檔案檢視站羣服務器的 php 配置。如果發現修改之後沒有生效,可以試下在網站根目錄的.htaccess 檔案 中寫入:suPHP_ConfigPath /home/cpusername/public_html(這是針對 suphp 環境的 Linux 站羣服務器, 目錄可以具體到網站所在的具體目錄,預設情況 下,網站程式一般是放在 public_html 下的),這個設定是為了告訴 mod_suphp 向哪些路徑傳遞 php 直譯器(有時候可能還需要 在.htaccess 中設定 PHPRC 環境變數,如 SetEnv PHPRC /home/cpusername/public_html)。
2. 修改 WP 配置檔案。
這個比較簡單,編輯 wp-config.php 這個配置檔案,加上一句:define(‘WP_MEMORY_LIMIT’, ’64M’); 其中 64M 可以寫得更大,比如 128M 。一般 64M 肯定夠用了。
如此,一般就可以解決這種錯誤提示了。解決之後還有部分朋友訪問網站可能會出現:Warning: Cannot modify header information – headers already sent by (output started at /home/cpusername/public_html/wp-settings.php:327) in /home/cpusername/public_html/wp-admin/install.php on line 54 類似的錯誤,不要緊,在 php.ini 中寫上 output_buffering=4096 即可解決。