Bug #53023 [Opn]: Fatal error gets displayed but is not fatal

From: Date: Sat, 16 Oct 2010 21:42:44 +0000
Subject: Bug #53023 [Opn]: Fatal error gets displayed but is not fatal
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-155261@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=53023&edit=1

 ID:                 53023
 User updated by:    daniel dot seif at castex dot de
 Reported by:        daniel dot seif at castex dot de
 Summary:            Fatal error gets displayed but is not fatal
 Status:             Open
 Type:               Bug
 Package:            SOAP related
 Operating System:   *
 PHP Version:        5.3.3
 Block user comment: N

 New Comment:

I just tested again:

New Test script:

<?php

error_reporting(E_ALL | E_STRICT);
ini_set('display_error', 'on');
header('Content-Type: text/plain');

try {
        $client = new SoapClient('nonexistentfile.wsdl');
} catch (Exception $e) {
        echo "caught exception: ", get_class($e), ": ",
$e->getMessage();
}

echo "if we had a real Fatal error, we wouldn't execute this line\n";

print_r(error_get_last());

?>

The result is the same as written in the bug report. There's also an
entry with a fatal error in the web server's error log:

[Sat Oct 16 23:39:54 2010] [error] [client ::1] PHP Fatal error: 
SOAP-ERROR: Parsing WSDL: Couldn't load from 'nonexistentfile.wsdl' :
failed to load external entity "nonexistentfile.wsdl"\n in
/var/www/test2.php on line 8


Previous Comments:
------------------------------------------------------------------------
[2010-10-09 01:21:41] felipe@php.net

I can't reproduce this.

------------------------------------------------------------------------
[2010-10-08 10:50:02] daniel dot seif at castex dot de

Description:
------------
When creating a soap client on a non-existing wsdl, an exception gets
thrown and at the same time, a fatal error gets logged, but the script
continues.


Test script:
---------------
try {
	$client = new SoapClient('nonexistentfile.wsdl');
} catch (Exception $e) {
	echo "catched exception: ", get_class($e), ": ", $e->getMessage();
}

echo "if we had a real Fatal error, we wouldn't execute this line\n";

Expected result:
----------------
catched exception: SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load
from 'nonexistentfile.wsdl' : failed to load external entity
"nonexistentfile.wsdl"
if we had a real Fatal error, we wouldn't execute this line


Actual result:
--------------
PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from
'nonexistentfile.wsdl' : failed to load external entity
"nonexistentfile.wsdl"
 in /cab/src/dev/htdocs/test/scratchbook.php on line 102
catched exception: SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load
from 'nonexistentfile.wsdl' : failed to load external entity
"nonexistentfile.wsdl"
if we had a real Fatal error, we wouldn't execute this line



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=53023&edit=1


Thread (7 messages)

« previous php.bugs (#155261) next »