Fatal error: Maximum execution time exceeded
PHPスクリプトの実行時間が制限を超えた場合に発生するエラー
概要
Fatal error: Maximum execution time of X seconds exceeded は、PHPスクリプトが max_execution_time で設定された実行時間の制限を超えた場合に発生するエラーです。
エラーメッセージ
Fatal error: Maximum execution time of 30 seconds exceeded in /app/process.php on line 42
PHP Fatal error: Maximum execution time of 60 seconds exceeded
原因
- 重い処理: 大量のデータ処理や複雑な計算
- 外部API待ち: レスポンスが遅い外部サービス
- 無限ループ: 終了条件が満たされないループ
- N+1問題: データベースクエリが大量に発生
- max_execution_time が短い: デフォルト30秒では不足
解決策
1. max_execution_time を増やす(一時的な対処)
| |
| |
2. 処理を非同期化(キュー)
| |
3. 外部APIのタイムアウト設定
| |
4. データベースクエリの最適化
| |
5. バッチ処理に分割
| |
6. CLI での実行
| |
| |
7. 進捗表示とチェックポイント
| |
8. ignore_user_abort の設定
| |
FastCGI/FPM の設定
| |
デバッグのコツ
実行時間の計測
| |
ボトルネックの特定
| |
PHP の他のエラー
この記事は役に立ちましたか?