Edit report at https://bugs.php.net/bug.php?id=69199&edit=1
ID: 69199
Comment by: pegasus at vaultwiki dot org
Reported by: pegasus at vaultwiki dot org
Summary: require_once doesn't require ./ files
Status: Feedback
Type: Bug
Package: Scripting Engine problem
Operating System: Centos 6 64-bit
PHP Version: master-Git-2015-03-07 (Git)
Block user comment: N
Private report: N
New Comment:
This issue was fixed by re-installing the affected PHP installation.
Previous Comments:
------------------------------------------------------------------------
[2015-03-09 17:04:28] pegasus at vaultwiki dot org
Strange. Re-did make install, restarted php-fpm, and this issue has magically disappeared.
------------------------------------------------------------------------
[2015-03-08 05:01:26] rasmus@php.net
I am not able to reproduce this. Can you provide a standalone example?
Looking at both the code and an strace, nothing has changed here. An explicit require of
./includes/filename.php will only attempt to load that file from the directory the parent script is
in.
------------------------------------------------------------------------
[2015-03-08 02:55:18] demon@php.net
Could you please check your report_erroring level? Maybe the level is too High. In my computer I get
two Warning:
Warning: include_once(./2.php): failed to open stream: No such file or directory in /tmp/1.php on
line 3
Warning: include_once(): Failed opening './2.php' for inclusion
(include_path='.:') in /tmp/1.php on line 3
array(1) {
[0]=>
string(10) "/tmp/1.php"
}
------------------------------------------------------------------------
[2015-03-07 18:37:52] pegasus at vaultwiki dot org
Which commit should I be trying for the fix? I'm not seeing any related changes in the
shortlog.
Even if include_path causes the issue, I would expect that a Fatal Error is thrown when it
can't find the required file in either the include_path or the current directory. The behavior
I experienced was that it just ignored the file entirely and proceeded with execution until
something in the unloaded file was used.
------------------------------------------------------------------------
[2015-03-07 18:08:27] demon@php.net
It seems that include_path causes the issue. When you are running the script, "./xxxx.php"
will be searched in the current directory and include_path.
e.g. The scriptname that you are going to run is /a/b/c.php.
1. cd /a/b
2. php c.php
Could you please check if the issue is fixed?
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=69199
--
Edit this bug report at https://bugs.php.net/bug.php?id=69199&edit=1