PHP包含路径问题

tan*_*non 1 php apache2 include include-path

我已经设置了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 /中搜索文件

怎么解决这个?

Arv*_*vin 6

您可以更改工作目录requested_file.php之前调用include,使其工作:

chdir(dirname(__FILE__));
include 'path/to/file.php';
Run Code Online (Sandbox Code Playgroud)

或者用于PHP 5.3+

chdir(__DIR__);
include 'path/to/file.php';
Run Code Online (Sandbox Code Playgroud)

如果您不想更改工作目录(这将影响其他文件系统操作),则只需在每次使用魔术常量 执行包含时附加路径__DIR__:

include dirname(__FILE__) . '/path/to/file.php';
include __DIR__ . '/path/to/file.php'; # for PHP 5.3+
Run Code Online (Sandbox Code Playgroud)

其中路径相对于您使用上述代码的文件.