diff --git a/htdocs/always.php b/htdocs/always.php index 5dec0ba1..f3c142fa 100644 --- a/htdocs/always.php +++ b/htdocs/always.php @@ -18,7 +18,10 @@ unset($session); unset($request); unset($dbconn); unset($_awl_dbconn); unset($in // An ultra-simple exception handler to catch errors that occur // before we get a more functional exception handler in place... function early_exception_handler($e) { - if ( !headers_sent() ) header("Content-type: text/plain"); else echo "
\n";
+ if ( !headers_sent() ) {
+ header("Content-type: text/plain"); else echo "\n";
+ header( sprintf("HTTP/1.1 %d %s", 500, getStatusMessage(500)) );
+ }
while ( ob_get_level() > 0 ) ob_end_flush();
echo "Exception [".$e->getCode()."] ".$e->getmessage()."\n";
echo "At line ", $e->getLine(), " of ", $e->getFile(), "\n";
@@ -28,6 +31,7 @@ function early_exception_handler($e) {
foreach( $trace AS $k => $v ) {
printf( "%s[%d] %s%s%s()\n", $v['file'], $v['line'], (isset($v['class'])?$v['class']:''), (isset($v['type'])?$v['type']:''), (isset($v['function'])?$v['function']:'') );
}
+
}
set_exception_handler('early_exception_handler');
diff --git a/inc/always.php.in b/inc/always.php.in
index fb62ac09..5cf5ccfa 100644
--- a/inc/always.php.in
+++ b/inc/always.php.in
@@ -18,7 +18,10 @@ unset($session); unset($request); unset($dbconn); unset($_awl_dbconn); unset($in
// An ultra-simple exception handler to catch errors that occur
// before we get a more functional exception handler in place...
function early_exception_handler($e) {
- if ( !headers_sent() ) header("Content-type: text/plain"); else echo "\n";
+ if ( !headers_sent() ) {
+ header("Content-type: text/plain"); else echo "\n";
+ header( sprintf("HTTP/1.1 %d %s", 500, getStatusMessage(500)) );
+ }
while ( ob_get_level() > 0 ) ob_end_flush();
echo "Exception [".$e->getCode()."] ".$e->getmessage()."\n";
echo "At line ", $e->getLine(), " of ", $e->getFile(), "\n";
@@ -28,6 +31,7 @@ function early_exception_handler($e) {
foreach( $trace AS $k => $v ) {
printf( "%s[%d] %s%s%s()\n", $v['file'], $v['line'], (isset($v['class'])?$v['class']:''), (isset($v['type'])?$v['type']:''), (isset($v['function'])?$v['function']:'') );
}
+
}
set_exception_handler('early_exception_handler');