PHP 默认值中的空“include_path”


Empty `include_path` in PHP default

如果我在PHP中有一个空include_path(如include_path=:(,我的includerequire函数仍然可以工作。这就像include首先尝试初始脚本的目录,无论您的include_path设置为什么。

当我将include_path设置为类似 /usr/lib/php5/ ,然后尝试从同一目录中没有test.php的脚本中include('test.php')时,这让我更加困惑。我想它会在当前目录中不存在test.php,它会在我指定的include_path中查找。

我不是在寻求解决办法;我已经可以解决我目前的问题了。我正在寻找有关include_path如何工作的解释。谢谢!

基本上,

如果您只是指定要包含的文件的名称而没有任何路径信息,那么将使用include_path。

include 'wow.php';  (this will use include_path to try to find it) 

如果找不到它,那么它将在与尝试包含它的文件相同的目录中查找。

include '/blah/wow.php';

因为它有一些路径信息,所以它会一起忽略include_path。

使用这个

include($_SERVER['DOCUMENT_ROOT'].'/test.php');