In this question the OP mentions PHP throwing a 500 error automatically when error_reporting is off, and XDebug changing that behaviour.
That got me curious, as I’ve never heard of PHP automatically emitting 500s before. According to various quotes and answers on SO and elsewhere, it seems to indeed be PHP’s default behaviour to throw a 500 Internal Server Error header if display_errors is set to false.
However, I am unable to find anything official on this. The manual pages on display_errors and error_reporting say nothing.
Does anybody know a good source in the PHP docs that talks about this?
Not sure, but this may have been added in PHP 5.2.4:
There is also this discussion on the internals list that might be related:
Quoting:
and the proposed solution/patch seems to be shown here: