我怎么知道PHP中将使用哪个路径?
-
03-10-2019 - |
题
当我跑步时 phpinfo()
看看 Configuration
类别下 PHP Core
, ,我看到一个标题为 include_path
, ,具有本地价值和主值。
在这种情况下,我的本地价值设置为
.: ./include: ../include: /usr/share/php: /usr/share/php/smarty: /usr/share/pear
我的主价值设置为
.: /usr/share/php: /usr/share/pear: /usr/share/php/pear: /usr/share/php/smarty
我之所以试图了解这项工作的原因,因为我正在处理的系统中有一个文件标题为 Smarty.class.php
, ,我敢肯定,对于任何使用智能模板引擎的人来说,这听起来都很熟悉。
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搜索要包括的文件的顺序吗?
解决方案
全球价值基本上是php.ini中的设置。本地价值是当前正在使用的。本地值完全覆盖主值。
根据手册,PHP按顺序检查路径在include_path设置中指定: http://php.net/manual/en/ini.core.php#ini.include-path
不隶属于 StackOverflow