2026年5月20日

2026年5月20日

PHPメモリ制限による500エラーの解決方法【WP_MEMORY_LIMIT設定】

はじめに

PHPのメモリ制限(memory_limit)が足りなくなると、WordPressは「500 Internal Server Error」または「PHP Fatal error: Allowed memory size exhausted」を表示します。ページビルダーや画像処理など、メモリを多く使う処理で特に発生しやすい問題です。

メモリ不足が原因と疑われる状況

  • 高機能なページビルダー(Elementor・Divi等)使用時
  • 大きな画像のアップロード時
  • WooCommerceの注文処理時
  • バックアッププラグインの実行時
  • 多数のプラグインを同時使用時

現在のメモリ制限を確認する方法

wp-config.phpで確認

// 現在の設定を確認(追加後にサイトにアクセスして確認)
define( 'WP_MEMORY_LIMIT', '256M' );

phpinfo()で確認

// 一時的に確認用ファイルを作成(確認後は必ず削除)
<?php phpinfo(); ?>

memory_limit の項目で現在の制限値を確認できます。

解決方法①:wp-config.phpで設定(最も簡単)

FTPで wp-config.php を開き、/ That's all, stop editing! / の行より前に追加します:

// PHPメモリ制限を増やす
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' ); // 管理画面用

解決方法②:php.iniで設定

ルートディレクトリに php.ini ファイルがある場合(または新規作成):

memory_limit = 256M
max_execution_time = 300
post_max_size = 64M
upload_max_filesize = 64M

解決方法③:.htaccessで設定(Apache限定)

php_value memory_limit 256M
php_value max_execution_time 300

解決方法④:ホスティングの管理画面で設定

cPanel等のホスティング管理画面には「PHP設定」や「Select PHP Version」といったメニューがあり、GUIでメモリ制限を変更できます。

どこまでメモリを増やせるか

ホスティングプランによって上限が異なります:

| プランの種類 | 一般的な上限 |

|------------|-----------|

| 共有ホスティング | 128M〜256M |

| VPS(小)| 512M〜1G |

| VPS(中〜大)| 制限なし〜 |

上限を超える設定は無視されます。ホスティング会社のプランを確認してください。

確認:メモリ使用量を監視するには

// 現在のメモリ使用量を確認するスニペット(テスト用)
echo 'メモリ使用量: ' . memory_get_usage(true) / 1024 / 1024 . 'MB';
echo 'ピークメモリ: ' . memory_get_peak_usage(true) / 1024 / 1024 . 'MB';

Query Monitor プラグインを使うと常時メモリ使用量を監視できます。

注意事項

  • メモリを無制限(-1)に設定するのはセキュリティ上問題があります。実際に必要な量+余裕分の設定にとどめてください。
  • メモリ増加で解決しない場合、プラグインのコードにメモリリークがある可能性があります。

まとめ

PHPメモリ制限による500エラーは、wp-config.phpWP_MEMORY_LIMIT を追加するだけで解決するケースがほとんどです。256M を設定しても解決しない場合はホスティングプランのアップグレードを検討しましょう。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ