【发布时间】:2011-11-11 18:46:22
【问题描述】:
我有一个 MainClass.php 文件和同一目录中的其他 .php 文件。我注意到我可以使用以下方法在此文件中包含其他 .php 文件:
require "file.php";
即使我没有指定脚本的完整路径,它似乎也会加载它们。这适用于任何服务器设置吗?还是我必须手动添加完整路径或更改包含路径:
set_include_path(dirname(__FILE__));
在 require 语句之前
?
【问题讨论】:
我有一个 MainClass.php 文件和同一目录中的其他 .php 文件。我注意到我可以使用以下方法在此文件中包含其他 .php 文件:
require "file.php";
即使我没有指定脚本的完整路径,它似乎也会加载它们。这适用于任何服务器设置吗?还是我必须手动添加完整路径或更改包含路径:
set_include_path(dirname(__FILE__));
在 require 语句之前
?
【问题讨论】:
默认情况下,PHP 的包含路径包括.。这代表当前工作目录 (CWD),这就是您的包含工作的原因。
我认为最好安全地使用它并尽可能使用明确的包含路径或绝对路径,如您的问题所示。
一种流行的方法是
set_include_path(implode(PATH_SEPARATOR, array(
$applicationIncludePath,
get_include_path()
));
【讨论】:
.,可以配置不带它