I\'m running PHP 5.4 on CentOS 7 and when there is a php file that throws an error (either an exception, or a syntax error) it returns an HTTP 200 status code instead of 500.
According to a PHP bug report, the behavior described here is due to how display_errors is set.
[2010-02-03 19:03 UTC] derick@php.net
The reason why display errors needs to be turned of, is because displayed errors generate output, and output causes the headers to be send out. I'm afraid we can't do much about this.
So the answer to the question is that:
200
always. 500
.