【问题标题】:How do I know which include path will be used in PHP?我如何知道 PHP 中将使用哪个包含路径?
【发布时间】:2011-02-16 00:26:45
【问题描述】:

当我运行phpinfo() 并查看PHP Core 下的Configuration 类别时,我看到了一个名为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 的 Local 和 Master 值之间的某种顺序。

假设到目前为止我的推论是正确的,有人可以解释 PHP 搜索要包含的文件的顺序吗?

【问题讨论】:

    标签: php smarty include-path phpinfo php-ini


    【解决方案1】:

    全局值基本上是在 php.ini 中设置的。本地值是当前使用的值。本地值完全覆盖主值。

    根据手册,PHP 按照 include_path 设置中指定的顺序检查路径:http://php.net/manual/en/ini.core.php#ini.include-path

    【讨论】:

    • 太棒了,非常感谢艾伦。这完美地回答了我的问题。 ++
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 2016-11-12
    • 2017-01-19
    • 1970-01-01
    • 2015-03-18
    • 2011-02-15
    相关资源
    最近更新 更多