WordPressは安定性に優れたプラットホームですが、エラーとは無縁ではありません。なかでも「PHP メモリ制限エラー」はよくあることで、空白のページに以下のようなメッセージが1行だけ表示されます。
Fatal error: Allowed memory of 1073741824 bytes exhausted (tried to allocate 4295229440 bytes) in /home/…
↓↓ 日本語訳
致命的なエラー: 許可されたメモリ 1073741824 バイトが使い果たされました (4295229440 バイトを割り当てようとしました)…
このエラーは次のような操作を行った場合に発生するのが一般的です。
- プラグインやテーマのインストールや有効化およびバージョンアップ
- 画像や動画などのメディアをアップロード
WordPressは、データーベースやファイル、コンテンツ、テーマやプラグインなどのデーター(アップロードやインストール)を保存するために一定のメモリを使用します。
このメモリはホスティングサービスによって提供されているのですが、サイトの規模が大きくなったり、プラグインを数多く使ったりすると、提供されているメモリの上限を超過して「PHP メモリ制限エラー」が発生します。
このエラーは、メモリの制限を引き上げれば解決します。その方法として、「wp-config.php」ファイルまたは「.htaccess」ファイルで設定することができるのですが、初心者の方には少し難しいかも知れません。
でもエックスサーバーなら、サーバーの「php.iniの設定」で数字を1文字変えるだけでメモリ制限を引き上げることができます。
エックスサーバーでメモリ制限を引き上げる方法
エックスサーバーはドメイン単位でphp.iniを細かく設定することができ、「php.ini設定変更」「php.ini直接編集」「php.ini設定初期化」が用意されています。
「php.ini直接編集」は内容を理解している上級者向けですが「php.ini設定変更」は初心者でも簡単に設定を変更することができます。また、変更設定で問題が発生した場合「php.ini設定初期化」で初期状態に戻せるので安心です。
今回のような「PHPメモリ制限エラー」はメモリ制限を引き上げるだけなので「php.ini設定変更」で設定を変更します。
まずはエックスサーバーにログインして「サーバーパネル」を開きます。
サーバーパネルを開けたら一覧から「PHP」>「php.ini」>「ドメイン選択」と進みます。
ドメインを選択したら「php.ini設定」の画面に切り替わるので、「php.ini設定変更」のタブを選択します。
「php.ini設定変更」画面は、上から「エラー設定」「セッション設定」「文字コード設定」「その他の設定」となっています。
「その他の設定」の欄で、「memory_limit」の右側に表示されている数字(初期値は1G)が現在設定されているメモリの上限なので、この数字を変更すると「メモリ制限値」を引き上げることができます。
※ 当サイトでは、「1G」⇒「5G」に変更したことでエラーが解消して快適に動作しています。
エックスサーバーでの「memory_limit」の上限
「memory_limit」の値を5Gに指定することで快適に動作するようになったのですが、サーバーリソース状況やパフォーマンスに悪影響がないか気になったので、エックスサーバのサポートセンターに問い合わせてみました。
結果は、「memory_limit」の値については上限がないため5Gを指定しても問題はないとのことでした。ただし、サーバーの安定稼働に問題がない範囲で適用されるため5Gがそのまま適用されることはないようです。
これを聞いて安心するとともに、改めてエックスサーバーの性能の良さを実感しました。
他のレンタルサーバーでは「PHPメモリ上限」が256Mで、引き上げるのに有料といったところもあります。そいった場合はエックスサーバーに移転することを検討してもいいと思います。
詳細は⇒エックスサーバー で確認してください。
WordPressのメモリサイズの上限を確認
エックスサーバーでの設定が反映できているかは、WordPressの管理画面にログインし「サイトヘルス」の「情報」で確認できます。
WordPress管理画面>「サイトヘルス」>「情報」>「サーバー」と進みます。このなかに「PHP メモリ上限」という項目があるので、この数値がサーバーで設定した数値と同じであれば反映できています。
まとめ
今回は、エックスサーバーの「php.ini設定」で「PHPメモリ制限エラー」を解決する方法を紹介しました。
WordPressの管理画面が崩れたり、ログインにかかる時間が長いと感じたりするようでしたら、メモリ不足の兆候かも知れませんので、事前にPHPメモリの上限を引き上げておくのも一つの方法です。
あまり多くのデーターをサーバーに送り込むと、サーバーに負荷がかかり過ぎて、エラー発生やサイトの表示スピードが低下するなど、さまざまな問題が起こることがあるので、プラグインは必要最低限にし、アップロードするメディアのデーターサイズは小さくすることをオススメします。