如何解決WordPress外掛管理時記憶體不足的問題?
自從WordPress2.7版後,外掛管理越來越方便,想要刪除、停用、升級外掛通通在後台可以搞定,不必要開啟FTP把外掛檔案上傳到指定資料夾。不過方便之餘可能有些問題也逐漸浮現。最近常常看到大家有出現「Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes)」這種問題,那這就是你外掛的記憶體使用量超過系統限制,那我們就來處理一下吧!
最近週遭好幾個朋友都遇到了外掛啟用停用時都出現了似乎是記憶體不足的問題,錯誤訊息大至上如下,看起來很像是使用者的執行時記憶體用量超過了主機預設給予的記憶體用量,造成程式執行失敗。
(感謝小俊提供此圖片XD)
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in
/home/your/public_html/wp-includes/kses.php(401) : runtime-created function on line 1
所以為了解決這問題,上了官方網站爬了文章,在這篇有提到,只要把記憶體調大就可以解決這種問題了,不過依照網站空間的不同,解決方式有兩種,大致上如下。
自架網站(Appserv)
如果你是自己架設伺服器來營運網站卻出現WordPress程式執行時記憶體不足的情況,那你可以試著修改php.ini中的設定,把記憶體的部分(memory_limit)調大一點,這樣的問題就可以解決囉!
若是一般Windows的阿帕契,那就請點擊【開始】→【程式集】→【AppServ】→【Configuration Server】→【PHP Edit the php.ini Configuration File】開啟後,請找到以下文字,並把後方數字調大,例如調到64M,然重起阿帕契即可。
memory_limit
虛擬主機(Web Hosting)
如果你是租用的虛擬主機,雖然網路上有些方法可以讓你透過.htaccess來修改虛擬主機的php.ini調整成符合你的需求之方法,但是並非每台主機都可以讓你調整,所以我們可直接利用WordPress內建的函數來處理。
啟動你的FTP並將你的WordPress設定檔wp-config.php下載回來,開啟後請將以下語法加入到wp-config.php檔案的任意位置,儲存後在把檔案上傳回主機覆蓋就可以了!
define('WP_MEMORY_LIMIT', '64M');
基本上按照以上方法,記憶體不足這樣的問題就可以輕鬆解決。雖然更改記憶體的限制可以有效處理記憶體不足的問題,不過照裡來講按照系統預設的限制應該是不會有過少的問題,可能是外掛(plugins)沒寫好,或者是裝到山寨版的外掛等等,最根本的還是要去把問題抓出來才是最佳的解決之道。