Hi! Just read the comments for Bug #47584: WSDL error in soapClient causes Fatal Error.
If a SoapClient is created and the WSDL can not be found, an Exception is thrown: <?php try { $x = new SoapClient( "non-existent.wsdl", array( "exceptions" => 1 ) ); } catch ( Exception $e ) { echo $e->faultstring; } echo "ok\n"; $error = error_get_last(); print_r( $error ); ?> Although I'm using exceptions here, an E_ERROR gets "registered", thus the output is: SOAP-ERROR: Parsing WSDL: Couldn't load from 'non-existent.wsdl' : failed to load external entity "non-existent.wsdl" ok Array ( [type] => 1 [message] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'non-existent.wsdl' : failed to load external entity "non-existent.wsdl" [file] => Y:\client2.phb [line] => 5 ) Can anybody comment on this behaviour? Should an error be registered when exceptions are used? Should this be an E_RECOVERABLE_ERROR instead? The specific problem is that we use a shutdown function that utilizes error_get_last() to see if a fatal error orccured and then tries to redirect to a specific error page. Now we call a php script via ajax that tries to connect to a soap service. If the service is unreachable we correctly catch the exception, but the registered E_ERROR gets processed on shutdown, thus redirecting... Thanks and greetings Nico -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php