Edit report at https://bugs.php.net/bug.php?id=74366&edit=1
ID: 74366
Updated by: [email protected]
Reported by: tugrultopuz at gmail dot com
Summary: Throwable not catching include and require
Status: Not a bug
Type: Bug
Package: *General Issues
Operating System: Debian 8.5
PHP Version: 7.0.17
Block user comment: N
Private report: N
New Comment:
Making require/require_once throw \Error is part of request #72089.
Previous Comments:
------------------------------------------------------------------------
[2017-04-04 07:12:40] a at b dot c dot de
PHP 7 changes how *most* errors are reported by PHP. Instead of reporting errors through the traditional error reporting mechanism used by PHP 5, *most* errors are now reported by throwing Error exceptions.
------------------------------------------------------------------------
[2017-04-03 20:21:40] tugrultopuz at gmail dot com
This should possible in PHP 7 by the documentation
http://php.net/manual/en/language.errors.php7.php
------------------------------------------------------------------------
[2017-04-03 19:00:23] [email protected]
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php
include/require raise warnings and errors, not exceptions. If you can't see the messages then you need to adjust your error reporting settings.
------------------------------------------------------------------------
[2017-04-03 18:53:05] tugrultopuz at gmail dot com
Description:
------------
Throwable not catching the error by include and require statements for non existent files.
Test script:
---------------
try {
include 'non-existent-file.php';
} catch (\Throwable $ex) {
echo 'include error';
}
try {
include_once 'non-existent-file.php';
} catch (\Throwable $ex) {
echo 'include_once error';
}
try {
require 'non-existent-file.php';
} catch (\Throwable $ex) {
echo 'require error';
}
try {
require_once 'non-existent-file.php';
} catch (\Throwable $ex) {
echo 'require once error';
}
Expected result:
----------------
include error
include_once error
require error
require_once error
Actual result:
--------------
no output and write errors to error log
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=74366&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.