当我运行phpinfo()
并查看 下的Configuration
类别PHP Core
时,我看到一个名为 的指令include_path
,其中包含一个本地值和一个主值。
在这种情况下,我的本地值设置为
.: 。/包括: ../包括: /usr/share/php: /usr/share/php/smarty: /usr/share/梨
我的主值设置为
.: /usr/share/php: /usr/share/梨: /usr/share/php/梨: /usr/share/php/smarty
我试图了解它是如何工作的原因是因为我正在处理的系统中有一个名为 的文件Smarty.class.php
,我敢肯定任何使用 Smarty 模板引擎的人都非常熟悉它。
其中一个 PHP 文件包含以下内容:
require_once("Smarty.class.php"); require_once("user_info_class.inc");
该文件user_info_class.inc
与包含的文件位于同一目录中,这对我来说非常有意义,并且是我一直引用文件的方式。我决定要打开 Smarty.class.php 文件,并假设它在同一个目录中,但事实并非如此。
经过一番挖掘,我发现了这些php_ini
变量,终于能够在目录中找到文件usr/share/php/smarty/
。
因此,似乎在进行包含时,它遵循本地和主值之间的某种顺序include_path
。
假设到目前为止我的推论是正确的,有人可以解释 PHP 搜索要包含的文件的顺序吗?