【发布时间】:2013-10-04 17:48:28
【问题描述】:
我在使用 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')
.inc.php-files 的内容在这里无关紧要。
问题来了:
如果我直接拨打/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
【问题讨论】:
标签: php include include-path