Errors in Google App Engine are being suppressed and not displayed to the browser even if error reporting is on. The html that would normally be displayed to the browser is showing in the log files.
The following code should generate a error
<?php
error
phpinfo();
?>
When curling the page no content is returned just a 500 response code.
$ curl -i http://localhost/test.php
HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Cache-Control: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Content-Length: 0
Server: Development/2.0
Date: Fri, 02 Aug 2013 18:24:49 GMT
The php.ini for this application has display_errors = On
and phpinfo correctly shows when called from within the app.
The expected behavior is output like this
$ php-cgi54 test.php
X-Powered-By: PHP/5.4.14
Content-type: text/html
<br />
<font size='1'><table class='xdebug-error xe-parse-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Parse error: syntax error, unexpected 'phpinfo' (T_STRING) in /Users/example/test/test.php on line <i>3</i></th></tr>
</table></font>