From: kotsutsumi at xenophy dot com
Operating system: FedoraCore5
PHP version: 5.1.4
PHP Bug Type: *General Issues
Bug description: session_set_save_handler _write can't throw Exception.
Description:
------------
It mounts in the class.
session_set_save_handler(
array($this, '_open'),
array($this, '_close'),
array($this, '_read'),
array($this, '_write'),
array($this, '_destroy'),
array($this, '_clean')
);
...
public function _write( $strID, &$objData ) {
// some process.
throw new Exception;
}
Result:
Exception thrown without a stack frame in ....
Why?
The exception is normally generated in other methods.
ex. _read,_destroy,_clear...
Reproduce code:
---------------
public function _write( $strID, &$objData ) {
try {
$strSQL = "REPLACE INTOd sessions hogeVALUES ( ?, ?, ? )";
$putData = $this->objResource->prepare( $strSQL );
$putData->bindParam( 1, $strID );
$putData->bindParam( 2, time() );
$putData->bindParam( 3, $objData );
$putData->execute();
return true;
} catch( PDOException $e) {
$strError = sprintf(
"ZbVf[^ÌÝèɸsµÜµ½B<br><br>%s" ,$e->getMessage() );
throw new Exception( $strError );
}
}
Expected result:
----------------
Fatal error: Exception thrown without a stack frame in Unknown on line 0
--
Edit bug report at http://bugs.php.net/?id=37566&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=37566&r=trysnapshot44
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=37566&r=trysnapshot52
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=37566&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=37566&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=37566&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=37566&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=37566&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=37566&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=37566&r=support
Expected behavior: http://bugs.php.net/fix.php?id=37566&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=37566&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=37566&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=37566&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37566&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=37566&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=37566&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=37566&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=37566&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=37566&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=37566&r=mysqlcfg