 <p>What's wrong with a <code>500 Internal Server Error</code>?! That's exactly what you experience. Your script is wrong and dies a sudden death; that's an internal error in your server. A <code>500</code> response signals to the client that there was an error which is not the fault of the client, so the client should not use whatever response it received and maybe try again later. That's exactly what must happen in this scenario and that's what <code>display_errors=off</code> does.</p>