我们以前都见过这个错误:
Warning: require_once(test/blah.inc) [function.require-once]: failed to open stream: No such file or directory in /home/narf/narf.inc on line 3
Fatal error: require_once() [function.require]: Failed opening required 'test/blah.inc' (include_path='.:/usr/lib64/php:/usr/lib/php:/home/narf/inc:/home3/narf/php:/home3/narf/inc/dev:') in /home/narf/narf.inc on line 3
super 烦。
这是我要找的:
某种 PHP 代码段将列出正在搜索的包含文件的路径。
从我所看到的,我已经正确设置了我的路径(上面的包含场景只是一个捏造),并且我可以从项目的其他部分成功包含文件。
但是,我无法让它发挥作用。如果我有一个正在搜索的位置列表,我可以轻松地找到我遗漏的路径并确定为什么我的 require/include 不起作用。
想法?有人可以分享一个片段吗?
提前一百万感谢! :)
编辑:就其值(value)而言,我想我已经找到了问题所在,但是如果您仍然有一些可以提供帮助的东西,那么对于 future 的错误配置来说会很棒! :)
编辑2:感谢所有回答的人。获取包含路径很好,但我正在寻找正在搜索的目录的实际 绝对 路径。我之所以挑剔,是因为在使用 require() 或 include() 以及相对路径时会让人感到困惑。此外,我怀疑还有其他一些问题,例如(可能)在给定设置中是否遵循符号链接(symbolic link)等。
最佳答案
引用 include
的手册页:
include_path
是一个配置指令(引用):
它可以在您的 php.ini
文件中进行配置,也可以在运行时使用 set_include_path()
函数进行配置。
而且,当然,要获得包含路径,您需要 get_include_path()
。