PHP でメモリ枯渇エラーを処理するには、多面的なアプローチが必要です。 ini_set() を使用してメモリ制限を増やすと簡単に解決できるように見えますが、常に実行可能または望ましいとは限りません。
推奨される方法の 1 つは、error_get_last() とともに register_shutdown_function() を使用することです。これにより、スクリプトのシャットダウン時にエラーをチェックし、エラーが発生しなかった場合は null 値をキャプチャできます。
<code class="php">register_shutdown_function(function(){ $error = error_get_last(); if(null !== $error) { echo 'Caught at shutdown'; } });</code>
ゲートウェイ スクリプトでは、try/catch ブロックを使用して致命的なエラーをキャプチャすることを検討してください。
<code class="php">try { while(true) { $data .= str_repeat('#', PHP_INT_MAX); } } catch(\Exception $exception) { echo 'Caught in try/catch'; }</code>
ただし、この例では、スクリプトが途中で終了したため、ErrorException オブジェクトは完全にはスローされません。
最後に、display_errors を false に設定してエラー表示を無効にし、シャットダウン関数のエラー配列を確認します。エラーの原因を確認し、適切に対応します。
これらの手法は、過剰なメモリ制限の増加に頼ることなく、PHP でメモリ枯渇エラーを処理するための安全かつ柔軟な方法を提供します。
以上がPHP はメモリ制限を超えずにメモリ枯渇エラーを処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。