JSON 応答を返すスクリプトを使用する場合、「許可されたメモリ サイズが枯渇しました」エラーが発生することが懸念される場合があります。 。メモリ制限の増加を避けるために、リクエストがメモリしきい値を超えたことをユーザーに通知することをお勧めします。
PHP では、次のような致命的なエラーを直接キャッチすることはできません。メモリサイズの枯渇。ただし、 register_shutdown_function を使用して、error_get_last() をチェックするコールバックを登録できます。
<code class="php">register_shutdown_function(function() { $error = error_get_last(); if ($error) { echo 'An error occurred: ' . $error['message']; } });</code>
致命的なエラーによるスクリプトのクラッシュを防ぐには、問題のあるコードによって生成された出力。 @ 演算子 (非推奨) を使用するか、ini_set('display_errors', false) を設定できます。
<code class="php">ini_set('display_errors', false); error_reporting(-1); set_error_handler(function($code, $string, $file, $line){ throw new ErrorException($string, null, $code, $file, $line); }); register_shutdown_function(function() { $error = error_get_last(); if ($error) { echo 'Memory limit exhausted. Please try reissuing the request with different parameters.'; } });</code>
過剰なメモリ使用量でこのスクリプトを実行すると、適切なエラー メッセージを表示し、メモリ消費量を減らすために調整を行うようユーザーに通知します。
他のエラーが引き続き表示されるように、error_reporting() を高く保ちます。致命的ではないエラーの場合は、エラー処理に set_error_handler() および ErrorException を使用することを検討してください。
以上がPHP での「許可されたメモリ サイズが使い果たされました」エラーを最小限の中断で処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。