|
|
|
This is actually the intended behavior.
In fact, Zend_Loader shouldnt be throwing warnings or errors, and there is a new verison in the incubator that supresses those issues. I'm gonna wait on this. – Updating project management info. I found the same problem. Have a custom savehandler, which uses Zend_XmlRpc_Client. This somewhere down the chain uses Zend_Validate_Hostname and for a .com address it tried to do Zend_Loader::isReadible("Zend/Validate/Hostname/Com.php"), which does not exist. isReadible tried to @fopen and surpress the warning when it does NOT exist. Which is fine, except the above error handler seems to ignore the "@" in front of the fread.
This renders Zend_XmlRpc_Client unusable within a session savehandler callback !! ZF 1.5.2 that is. and php 5.2.1 through php 5.2.6 is what I tried. I when through all possible php.ini settings, but could not figure out how to make Zend_Session::start() respect the @ in Zend_Loader. Any glue? I've been looking into
The underlying problem is that if a custom error handler is used then this will always receive errors, even when they are suppressed. The solution is to update the code in Zend_Session_Exception::handleSessionStartError as so: static public function handleSessionStartError($errno, $errstr, $errfile, $errline, $errcontext) { // Do not throw an exception if this is a suppressed error - see ZF-3020 if (error_reporting() === 0) { return; } self::$sessionStartError = $errfile . '(Line:' . $errline . '): Error #' . $errno . ' ' . $errstr . ' ' . $errcontext; } I can make this change myself if given SVN commit rights to the Zend/Session folder best wishes, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ZF-1325is the source of this issue.