2026年5月20日
2026年5月20日
最大実行時間オーバーで白い画面になる場合の解決方法
はじめに
WordPressで大量データのインポート、バックアップ、大きなプラグインの更新などを実行している際に白い画面が表示される場合、PHPの最大実行時間(max_execution_time)超過が原因の可能性があります。
デフォルトは30秒に設定されていることが多く、重い処理が完了する前にPHPが強制終了されます。
症状・確認方法
debug.logに以下のようなエラーが出ていれば実行時間オーバーです:
PHP Fatal error: Maximum execution time of 30 seconds exceeded
または、大容量ファイルのインポート・バックアップ処理中に白い画面になる場合も同様の原因が考えられます。
解決手順
方法1:wp-config.phpで設定する
// wp-config.php に追記
set_time_limit(300); // 300秒(5分)に延長
または:
@ini_set('max_execution_time', 300);
方法2:.htaccessで設定する
php_value max_execution_time 300
方法3:php.iniで設定する
max_execution_time = 300
方法4:WP Cronの実行時間を延長する
wp-config.php に追記:
define('WP_CRON_LOCK_TIMEOUT', 120); // WP Cronのロックタイムアウト
推奨設定値
| 処理内容 | 推奨値 |
|---------|--------|
| 通常のサイト | 60〜120秒 |
| 大容量インポート | 300秒 |
| バックアッププラグイン | 300〜600秒 |
| WooCommerce一括処理 | 300秒以上 |
根本的な解決策
タイムアウトを延長しても処理が完了しない場合は、処理そのものを分割することを検討します:
- 大容量インポート:WP All ImportプラグインでCSVを分割インポート
- バックアップ:UpdraftPlusで「チャンクサイズ」を小さく設定
- WooCommerce:商品データを一括ではなく少量ずつ処理
注意事項
max_execution_time = 0は実行時間無制限になります。通常サイトでは使用しないでください- サーバー側の設定が優先される場合があり、
.htaccessやwp-config.phpでの設定が効かないことがあります - VPSや専用サーバーでは
php.iniを直接編集できます
まとめ
最大実行時間オーバーは、.htaccess か wp-config.php で max_execution_time を延長することで解決できます。重い処理が多い場合は、処理を分割する設計も検討してください。
関連記事: