Edit report at http://bugs.php.net/bug.php?id=47584&edit=1
ID: 47584
Comment by: gem at rellim dot com
Reported by: gem at rellim dot com
Summary: WSDL error in soapClient causes Fatal Error
Status: Feedback
Type: Bug
Package: SOAP related
Operating System: Linux
PHP Version: 5.2.9
Assigned To: dmitry
Block user comment: N
New Comment:
Hmm, on 2nd look, it does now appear catchable w/o XDebug, but not with
XDebug.
Ideas?
Previous Comments:
------------------------------------------------------------------------
[2010-09-02 19:17:36] gem at rellim dot com
It fails similarly without XDebug:
# php -v
PHP 5.3.3 (cli) (built: Jul 26 2010 14:55:07)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by
eAccelerator
# php tmp.php
PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'non-
existent.wsdl' : failed to load external entity "non-existent.wsdl"
in /tmp/tmp.php on line 3
ok
#
------------------------------------------------------------------------
[2010-09-02 19:15:22] gem at rellim dot com
Forgot my version details:
# php -v
PHP 5.3.3 (cli) (built: Jul 26 2010 14:55:07)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by
eAccelerator
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
------------------------------------------------------------------------
[2010-09-02 19:14:24] gem at rellim dot com
Your example fails for me, I can not catch the error:
# cat tmp.php
<?php
try {
$x = new SoapClient("non-existent.wsdl");
} catch (Exception $e) {
}
echo "ok\n";
?>
# php tmp.php
PHP Warning: SoapClient::SoapClient(): I/O warning : failed to load
external
entity "non-existent.wsdl" in /tmp/tmp.php on line 3
PHP Stack trace:
PHP 1. {main}() /tmp/tmp.php:0
PHP 2. SoapClient->SoapClient() /tmp/tmp.php:3
PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'non-
existent.wsdl' : failed to load external entity "non-existent.wsdl"
in /tmp/tmp.php on line 3
PHP Stack trace:
PHP 1. {main}() /tmp/tmp.php:0
PHP 2. SoapClient->SoapClient() /tmp/tmp.php:3
#
------------------------------------------------------------------------
[2010-09-02 10:40:34] [email protected]
BTW despite SoapClient emits a fatal error it already throws exception
which can be caught (even in 5.2 brunch).
<?php
try {
$x = new SoapClient("non-existent.wsdl");
} catch (Exception $e) {
}
echo "ok\n";'
?>
------------------------------------------------------------------------
[2010-06-24 01:55:11] gem at rellim dot com
This is a still a 100% show stopper for me. I can not make PHP pages
live
that will crash on simple network errors.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/bug.php?id=47584
--
Edit this bug report at http://bugs.php.net/bug.php?id=47584&edit=1