ID: 41253 Updated by: [EMAIL PROTECTED] Reported By: ralph at smashlabs dot com -Status: Open +Status: Bogus Bug Type: Session related Operating System: Linux PHP Version: 5.2.1 New Comment:
I don't see anything wrong here. You're trying to throw an exception when the engine is shutting down, so you get a pretty much expected fatal error. Previous Comments: ------------------------------------------------------------------------ [2007-05-01 16:17:53] ralph at smashlabs dot com Description: ------------ Abstract: when handling php errors via set_error_handler() with the intention of throwing a catchable error, an E_FATAL error is triggered. Details: This is similar to the error you might see when attempting to throw an exception from an objects destructor. The internal pointer to the unwinding stack is lost and/or blown away. without the error handler session_start with an invalid save_path will produce an E_WARNING Reproduce code: --------------- <? ini_set('session.save_path', '/var/log'); set_error_handler('save_handler', E_ALL); try { session_start(); } catch (Exception $e) { echo $e->getMessage(); } function save_handler($errno, $errmsg) { throw new Exception('Error caught and thrown as exception: ' . $errmsg); } Expected result: ---------------- Error caught and thrown as exception: session_start(): open(/var/log/sess_3e97dad0fe4ce6f285e97593471f2c88, O_RDWR) failed: Permission denied (13) Actual result: -------------- Error caught and thrown as exception: session_start(): open(/var/log/sess_3e97dad0fe4ce6f285e97593471f2c88, O_RDWR) failed: Permission denied (13) Fatal error: Exception thrown without a stack frame in Unknown on line 0 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41253&edit=1