mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Fixed bug #72089: Throw Error on require failure
It should be noted that we still throw the usual fopen warnings, but the final fatal error becomes an Error exception. Combine with @ to suppress FS warnings. Closes GH-5641.
This commit is contained in:
parent
4ce47709c7
commit
e949f306be
4 changed files with 11 additions and 3 deletions
2
NEWS
2
NEWS
|
@ -27,6 +27,8 @@ PHP NEWS
|
|||
. Fixed bug #79467 (data:// wrappers are writable). (cmb)
|
||||
. Implemented FR #47074 (phpinfo() reports "On" as 1 for the some
|
||||
extensions). (cmb)
|
||||
. Implemented FR #72089 (require() throws fatal error instead of exception).
|
||||
(Nikita)
|
||||
|
||||
- BZ2:
|
||||
. Fixed bug #71263 (fread() does not report bzip2.decompress errors). (cmb)
|
||||
|
|
|
@ -27,4 +27,7 @@ try {
|
|||
--EXPECTF--
|
||||
Warning: require_once(doesnt_exist.php): Failed to open stream: No such file or directory in %s on line %d
|
||||
|
||||
Fatal error: require_once(): Failed opening required 'doesnt_exist.php' (include_path='test://foo:test://bar') in %s on line %d
|
||||
Fatal error: Uncaught Error: Failed opening required 'doesnt_exist.php' (include_path='test://foo:test://bar') in %s:%d
|
||||
Stack trace:
|
||||
#0 {main}
|
||||
thrown in %s on line %d
|
||||
|
|
|
@ -1618,7 +1618,7 @@ static ZEND_COLD void php_message_handler_for_zend(zend_long message, const void
|
|||
php_error_docref("function.include", E_WARNING, "Failed opening '%s' for inclusion (include_path='%s')", php_strip_url_passwd((char *) data), STR_PRINT(PG(include_path)));
|
||||
break;
|
||||
case ZMSG_FAILED_REQUIRE_FOPEN:
|
||||
php_error_docref("function.require", E_COMPILE_ERROR, "Failed opening required '%s' (include_path='%s')", php_strip_url_passwd((char *) data), STR_PRINT(PG(include_path)));
|
||||
zend_throw_error(NULL, "Failed opening required '%s' (include_path='%s')", php_strip_url_passwd((char *) data), STR_PRINT(PG(include_path)));
|
||||
break;
|
||||
case ZMSG_FAILED_HIGHLIGHT_FOPEN:
|
||||
php_error_docref(NULL, E_WARNING, "Failed opening '%s' for highlighting", php_strip_url_passwd((char *) data));
|
||||
|
|
|
@ -12,4 +12,7 @@ require_once('nonexisiting.php');
|
|||
<br />
|
||||
<b>Warning</b>: require_once(nonexisiting.php) [<a href='/function.require-once.html'>function.require-once.html</a>]: Failed to open stream: No such file or directory in <b>%sbug35176.php</b> on line <b>2</b><br />
|
||||
<br />
|
||||
<b>Fatal error</b>: require_once() [<a href='/function.require.html'>function.require.html</a>]: Failed opening required 'nonexisiting.php' (%s) in <b>%sbug35176.php</b> on line <b>2</b><br />
|
||||
<b>Fatal error</b>: Uncaught Error: Failed opening required 'nonexisiting.php' (include_path='%s') in %s:%d
|
||||
Stack trace:
|
||||
#0 {main}
|
||||
thrown in <b>%sbug35176.php</b> on line <b>2</b><br />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue