我设置了apache,以便所有请求都转到文件/var/www/common_index.php
现在,common_index.php查看请求的文件名并找到适当的文件 /var/www/123/public_html/requested_file.php
当我在requested_file.php中包含一个文件(带有相对路径)时,我遇到了问题。它尝试在/ var / www而不是/ var / www / 123 / public_html /
中搜索文件如何解决这个问题?
答案 0 :(得分:6)
您可以在requested_file.php
之前change the working directory致电include
以使其正常工作:
chdir(dirname(__FILE__));
include 'path/to/file.php';
或PHP 5.3 +
chdir(__DIR__);
include 'path/to/file.php';
如果您不想更改工作目录(这会影响其他文件系统操作),那么只需在每次使用magic constant __DIR__
进行包含时附加路径:
include dirname(__FILE__) . '/path/to/file.php';
include __DIR__ . '/path/to/file.php'; # for PHP 5.3+
其中路径相对于您使用上述代码的文件。
答案 1 :(得分:0)
在Apache配置中编辑DocumentRoot。
将其设为/var/www/123/
答案 2 :(得分:0)
您可以使用__DIR__
:
$path = __DIR__;
$path
包含包含此行的文件的路径