note 98033 added to ini.core

[email protected]
Newsgroups php.notes
Message-ID <[email protected]>
Has the behavior of include/require WRT "." in "include_path" changed in a recent PHP version? Scenario:
/home/XXXXX/catalog/index.php requires
'includes/application_top.php'. found OK
/home/XXXXX/catalog/includes/application_top.php includes
'includes/languages/english.php' (for example).
/home/XXXXX/catalog/includes/languages/english.php exists.

This used to work fine, but lately lots of users of certain products get "not found" errors. They are using the default "include_path" which includes ".". I haven't been able to prove it, but it looks like in older PHPs, "." is the directory of the OUTERMOST includer (/catalog/), while in newer PHPs, it is the directory of the INNERMOST includer (/catalog/includes/). I suspect that this is resulting in PHP looking for /home/XXXXX/catalog/includes/includes/languages/english.php, and not finding it. Unfortunately, the error message doesn't give the resulting full path, so I can't confirm it.

One could add /home/XXXXX/catalog/ to the include_path, but in this particular case, there is a problem: some scripts are running in /catalog/admin/, so they will pick up the wrong (/catalog/) application_top.php file (/home/XXXXX/catalog/includes/application_top.php, rather than /home/XXXXX/catalog/admin/includes/application_top.php), using this "fix". Any suggestions? Is the only other way out to rewrite all the requires and includes with absolute (full) paths?
----
Server IP: 69.147.83.197
Probable Submitter: 98.15.164.246
----
Manual Page -- http://www.php.net/manual/en/ini.core.php
Edit        -- https://master.php.net/note/edit/98033
Del: integrated  -- https://master.php.net/note/delete/98033/integrated
Del: useless     -- https://master.php.net/note/delete/98033/useless
Del: bad code    -- https://master.php.net/note/delete/98033/bad+code
Del: spam        -- https://master.php.net/note/delete/98033/spam
Del: non-english -- https://master.php.net/note/delete/98033/non-english
Del: in docs     -- https://master.php.net/note/delete/98033/in+docs
Del: other reasons-- https://master.php.net/note/delete/98033
Reject      -- https://master.php.net/note/reject/98033
Search      -- https://master.php.net/manage/user-notes.php
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.