致命的なエラーの処理: PHP で最大実行時間を超過しました
PHP 開発の領域では、恐ろしい「致命的なエラー」に遭遇することがあります。 :最大実行時間30秒を超えました。」このエラーは、スクリプトがサーバーによって設定された制限時間 (通常はデフォルトで 30 秒) を超えると発生します。
制限時間を増やすのは簡単な解決策のように思えるかもしれませんが、必ずしも現実的であるとは限りません。さらに、このエラーは致命的な性質があるため、例外を通じてこのエラーをキャプチャすることはできません。ただし、これを適切にインターセプトする別のアプローチがあります。
PHP の error_get_last() 関数を使用すると、最後に発生したエラーを取得できます。これを register_shutdown_function() と組み合わせると、プログラム終了時にエラーを処理するコールバックを設定できます。以下に例を示します。
<code class="php">function shutdown() { $error = error_get_last(); if ($error === null) { echo "No errors"; } else { print_r($error); } } register_shutdown_function('shutdown'); ini_set('max_execution_time', 1); // Setting a low time limit for demonstration purposes sleep(3);</code>
register_shutdown_function('shutdown') を呼び出すと、スクリプトの実行または終了後に shutdown() 関数が実行されます。このハンドラーでは、error_get_last() が最新のエラーを取得して出力し、問題を適切にログに記録したり処理したりできるようにします。
詳細と代替案については、次のリソースを参照してください。
以上がPHP で「最大実行時間を超過しました」という致命的なエラーを適切に処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。