【问题标题】:Is it possible to know where the default PHP include_path is being set?是否可以知道默认 PHP include_path 的设置位置?
【发布时间】:2016-02-07 13:02:21
【问题描述】:

我有一堆 PHP 应用程序在远程网络服务器上运行。对于他们每个人,我都做var_dump(get_include_path()),我得到了这个:.:/usr/share/pear:/usr/share/php。这个价值从何而来?我知道我的应用程序都没有故意更改包含路径。我的意思是代码中没有像 set_include_path()ini_set('include_path') 这样的东西。 .htaccess 文件中也没有像 php_value include_path 这样的东西。为了 100% 确定,我实际上是在创建一个全新的应用程序,只不过是一个空白 index.php(var_dump 除外),而且我仍然得到相同的包含路径。我很确定这是一个全局服务器配置。

我的服务器信息是: Linux version 2.6.9-89.0.20.ELxenU (Red Hat 3.4.6-11)

有没有办法检测这个值的设置位置?我确实可以访问服务器,但我不是系统管理员,所以我的 Linux 功能相当有限。我希望得到一些建议。

到目前为止,我所做的是检查 php.ini 和 httpd.conf 文件。我知道这些文件可能有多个版本,因此请确保我在正确的位置查找:

对于 php.ini

  • 我检查了phpinfo() 的输出
  • 我运行了这个命令$ php --ini。除了 php.ini 的位置,我还发现了一堆由 PHP 解析的其他 *.ini 文件,但它们似乎都没有对路径做任何事情

对于 httpd.conf

  • 我运行了这个命令/usr/sbin/httpd -V | grep HTTPD_ROOT
  • 我运行了这个命令/usr/sbin/httpd -V | grep SERVER_CONFIG_FILE

我不确定是否安装了 PEAR,或者它是否与此有关。运行$ pear 给我Command not found

非常感谢任何帮助,谢谢。

【问题讨论】:

    标签: php linux apache .htaccess include-path


    【解决方案1】:

    看看

    /usr/include/php5/main/build-defs.h:79:

    #define PHP_INCLUDE_PATH    ".:/usr/share/php:/usr/share/pear"
    

    (抱歉,这里没有 Red Hat,发行版是 Debian)。

    【讨论】:

      猜你喜欢
      • 2019-08-24
      • 2014-10-15
      • 2021-07-22
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多