Allowed memory size of XXXX bytes exhaustedと出たときの対処法

最近ではWordPressを使っているサイトが増えてきていると個人的には思っています。管理画面がついていて更新も楽です。企業サイトから個人サイト、ブログまでできます。データ量が大きくなるとエラーがでますのでその対処法になります。

Allowed memory size of XXXX bytes exhausted

このエラーは、PHPを実行するときにサーバーに割り当てたメモリをオーバーしてしまうのが原因です。

解決方法

VPS、専用サーバーなどをお使いの場合は以下の手順で治ります。

vi /etc/php.ini
memory_limit = 32M → 128M
#変更後:wqで保存
/etc/init.d/httpd restart

単純にメモリ量を増やしてあげればいいです。その後Apacheを再起動します。僕の場合はVPSサーバーなので上記の設定で解決しましたが、共用サーバーなどでphp.iniがいじれないという方は以下のことを試して下さい。

.htaccessで設定

共用サーバーとかでは、管理者権限はないのでphp.iniをいじることができないので.htaccessが使える場合は.htaccessに追記します。

php_value memory_limit "128M"

共用サーバーでも、.htaccessに制限がかかっている場合はできないかもしれません。そのあたりはお使いのサーバーによって異なるのでサーバー会社に確認して下さい。.htaccessの設定が面倒という方は以下の方法を試して下さい。

wp-config.phpに設定

.htaccess設定するより恐らくこっちの方が確実かなと思います。なのでこの方法を共用サーバーの方は推奨します。wp-cinfig.phpに以下の1行を追記してください。

define(‘WP_MEMORY_LIMIT’, ’128M’);

備考

今回128Mと設定していますが、デフォルトの32Mだとエラーがでるので64M以上だったらなんでもいいです。僕が行ったのはphp.iniの記述になるので他の二つについては実際に書いてエラーが解決するかどうかはわかりません。多分大丈夫だと思います程度になります。