我在使用 PHP 包含路径时遇到了一些麻烦,不明白,那里有什么问题。首先,我想向您展示我的文件/目录结构:
文件/目录结构
|index.php
|foo/
|baz.php
|bar.inc.php
|asdf/
|qwerty.inc.php
/index.php:
include('foo/baz.php');
/foo/baz.php:
include('bar.inc.php');
include('../asdf/qwerty.inc.php')
-files的内容在.inc.php
这里无关紧要。
这是问题所在:
如果我/foo/baz.php
直接打电话,这两个包括工作正常。但是如果我打电话/index.php
,那么第一个包含工作,第二个失败。这是为什么?
第一条路径显然会在包含时转换,但第二条路径并非如此。我想通了,这与前面的有关../
,但我不知道如何解决这个问题。这可能是 PHP 的安全/配置问题吗?
顺便说一句,错误输出是:
Warning: include(../asdf/qwery.inc.php): failed to open stream:
No such file or directory in /foo/baz.php