エックスサーバー|PHPメモリ制限エラーを解決する方法

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設定変更」で設定を変更します。

まずはエックスサーバーにログインして「サーバーパネル」を開きます。

Server Panel

サーバーパネルを開けたら一覧から「PHP」>「php.ini」>「ドメイン選択」と進みます。

Domain Selection

ドメインを選択したら「php.ini設定」の画面に切り替わるので、「php.ini設定変更」のタブを選択します。

php.ini settings

「php.ini設定変更」画面は、上から「エラー設定」「セッション設定」「文字コード設定」「その他の設定」となっています。

「その他の設定」の欄で、「memory_limit」の右側に表示されている数字(初期値は1G)が現在設定されているメモリの上限なので、この数字を変更すると「メモリ制限値」を引き上げることができます。

Memory Limit

※ 当サイトでは、「1G」⇒「5G」に変更したことでエラーが解消して快適に動作しています。

エックスサーバーでの「memory_limit」の上限

「memory_limit」の値を5Gに指定することで快適に動作するようになったのですが、サーバーリソース状況やパフォーマンスに悪影響がないか気になったので、エックスサーバのサポートセンターに問い合わせてみました。

結果は、「memory_limit」の値については上限がないため5Gを指定しても問題はないとのことでした。ただし、サーバーの安定稼働に問題がない範囲で適用されるため5Gがそのまま適用されることはないようです。

これを聞いて安心するとともに、改めてエックスサーバーの性能の良さを実感しました。

他のレンタルサーバーでは「PHPメモリ上限」が256Mで、引き上げるのに有料といったところもあります。そいった場合はエックスサーバーに移転することを検討してもいいと思います。

詳細は⇒エックスサーバー で確認してください。

WordPressのメモリサイズの上限を確認

エックスサーバーでの設定が反映できているかは、WordPressの管理画面にログインし「サイトヘルス」の「情報」で確認できます。

WordPress管理画面>「サイトヘルス」>「情報」>「サーバー」と進みます。このなかに「PHP メモリ上限」という項目があるので、この数値がサーバーで設定した数値と同じであれば反映できています。

php memory limit

まとめ

今回は、エックスサーバーの「php.ini設定」で「PHPメモリ制限エラー」を解決する方法を紹介しました。

WordPressの管理画面が崩れたり、ログインにかかる時間が長いと感じたりするようでしたら、メモリ不足の兆候かも知れませんので、事前にPHPメモリの上限を引き上げておくのも一つの方法です。

あまり多くのデーターをサーバーに送り込むと、サーバーに負荷がかかり過ぎて、エラー発生やサイトの表示スピードが低下するなど、さまざまな問題が起こることがあるので、プラグインは必要最低限にし、アップロードするメディアのデーターサイズは小さくすることをオススメします。

タイトルとURLをコピーしました