WordPressサイトを操作していると、PHPメモリが足りなくなることがあります。

たとえば、次のようなケースが典型例です。

「ページの保存や設定変更が反映されない。」
「更新途中で止まったりする。」
「画像がアップロードできない。」

こうした問題は、PHPメモリや関連する上限設定を変更することで解決できますので、当記事でやり方をご紹介します。

WordPressテーマ「GLUE」
WordPressテーマ「GLUE」
無料で高機能なWordPressテーマが手に入る。

WordPressのPHPメモリと上限設定の基本

WordPressはPHPというプログラム言語で動作しており、テーマやプラグインもすべてPHPを使って処理されています。そんなPHPは、php.iniという設定ファイルで制御されているのが一般的です。

エックスサーバーのphp.ini設定の例

エックスサーバーのphp.ini設定の例

php.iniには、複数の項目があるのですが、WordPressの場合、次の3つの設定を覚えておくと便利です。

  • メモリ制限(memory_limit)
  • アップロードファイル上限(upload_max_filesize)
  • PHP POST サイズ上限(post_max_size)

メモリ制限(memory_limit)

PHPメモリは、作業机の広さのようなものです。作業机が狭いと、大きな画像や複雑なプラグインの処理が途中で止まってしまいます。

そのPHPが使えるメモリ領域には上限があり、これをPHPのメモリ制限(memory_limit)と呼びます。

PHP POST サイズ上限(post_max_size)

PHP POST サイズ上限は、1回のHTTP POSTリクエストで送信できるデータの合計サイズを制限します。後述のupload_max_filesizeよりも、大きく設定する必要があります。

この値を超えると、画像や記事データの送信・保存が途中で失敗する可能性が高いです。フォームや記事投稿のデータ量が大きい場合に調整してみるといいでしょう。

アップロードファイル上限(upload_max_filesize)

アップロードファイル上限は、1ファイル単体のアップロードサイズを制限する設定です。この設定値を超えるファイルは、WordPressでアップロードできません。

大きな画像や動画ファイルを扱う場合は、この値を必要に応じて増やす必要があります。


表にまとめると次のとおりです。用途別に調整してみてください。

項目 用途・対象
メモリ制限
(memory_limit)
PHPで動作する箇所全般(ページ生成、プラグイン、テーマの処理)。複数のプラグインを併用する場合に重要。
PHP POST サイズ上限
(post_max_size)
1回のPOSTリクエストで送信できるデータの合計サイズ。記事やページを更新できない、フォームが送信できないときに確認する。
アップロードファイル上限
(upload_max_filesize)
1ファイル単体のアップロード上限。大きな画像や動画をアップロードできないときに確認する。

WordPressで現在の上限を確認する方法

WordPressサイトで、現状の上限がどう設定されているかは、サイトヘルスから確認できます。

WordPressのダッシュボードの「ツール > サイトヘルス」を開きます。

サイトヘルスで確認できるサーバーの項目

情報タブの「サーバー」を確認してください。

サイトヘルスで確認できるサーバーの項目(PHPメモリやアップロード上限設定)

これらの値が、128Mなどになっていると、メモリ不足の可能性が高いです。

PHPの上限を増やす方法

PHPの上限設定は、wp-config.phpかサーバーの管理画面から変更可能です。上限を増やすことで、保存や更新、アップロード時のエラーを防げるようになります。

wp-config.phpでPHPメモリを増やす

WordPressでは、wp-config.phpを編集することで、PHPメモリ(memory_limit)を増やせます。

WordPressのルートディレクトリにあるwp-config.phpを開き、次のコードを追加します。

元に戻せるように編集前の内容をどこかにコピーしておきましょう。
define('WP_MEMORY_LIMIT', '512M');

追加場所は、「/* That’s all, stop editing! Happy publishing. */」の直前がおすすめです。

上記コードは、WordPressが使用できるPHPメモリの上限を「512MB」に増やす例です。ただし、サーバー側で上限が設定されている場合、wp-config.phpだけでは反映されません。

レンタルサーバーの設定を変更する

wp-config.phpの設定が反映されない場合は、サーバー側の制限値が優先されている可能性があります。

たとえば、エックスサーバーでは、サーバーパネルの「PHP > php.ini設定 > 詳細設定」で設定可能です。

エックスサーバーのphp.ini設定

エックスサーバーのphp.ini設定

memory_limitの値を確認して、必要に応じて「詳細設定」から変更できます。

多くのレンタルサーバーでは、PHP POST サイズ上限(post_max_size)や、アップロードファイル上限(upload_max_filesize)なども同じ箇所で変更可能です。

エックスサーバーのphp.ini設定(詳細)

上限を増やすときの注意点

各所の上限を増やすと安定性は向上しますが、サーバーの負荷も高くなります。

まずは、128M → 256M → 512M のように段階的に増やし、必要最低限の範囲で調整するのが安全です。

目安としては、次のとおりです。

  • 小規模サイト(シンプルな構成):128M〜256M
  • 中〜大規模サイト(多機能テーマ・プラグイン多数):512M〜1024M

上限を増やしても改善しない場合は、不要なプラグインの整理やサイトの軽量化も検討してください。

まとめ

WordPressのPHPメモリやアップロード上限を増やす方法をご紹介しました。

ページが保存できなかったり、設定変更が反映されないなどのケースは、PHPメモリ制限や関連する上限設定が原因かもしれません。

上限を増やすと解決できる可能性がありますので、当記事を参考に試してみてください。

世界最高品質のデザインの
WordPressテーマ集
WordPressテーマ「REHUB」
WordPressテーマ「REHUB」
クチコミ評価サイトがつくれる高機能テーマ。
WordPressテーマ「RIKYU」
WordPressテーマ「RIKYU」
あらゆるジャンルのネットショップを構築。
WordPressテーマ「GAIA」
WordPressテーマ「GAIA」
高機能なイベントカレンダーを搭載。
WordPressテーマ「HORIZON」
WordPressテーマ「HORIZON」
横スクロールデザインの個性派ギャラリー。