我在系统上继承了一些我没有设置的代码,我在追踪 PHP 包含路径的设置位置时遇到了问题。
我有一个包含以下 include_path 的 php.ini 文件
include_path = ".:/usr/local/lib/php"
我在 webroot 中有一个名为 test.php 的 PHP 文件,其中包含以下 phpinfo 调用
<?php
phpinfo();
当我查看 phpinfo 调用时,include_path 的本地值被覆盖了
Local Value Master Value
include_path .;C:\Program Files\Apache Software Foundation\ .:/usr/local/lib/php
Apache2.2\pdc_forecasting\classes
此外,php.ini 文件表明没有加载其他 .ini 文件
Configuration File (php.ini) Path /usr/local/lib
Loaded Configuration File /usr/local/lib/php.ini
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
所以,我的问题是,标准 PHP 系统(包括一些 PEAR 库)中还有什么可以覆盖 php.ini 和正在解释/执行的实际 php 代码之间的 include_path。
最佳答案
超出 PHP 方式
ini_set( 'include_path', 'new/path' );
// or
set_include_path( 'new/path' );
可以通过 auto_prepend_file
加载到 PHP 文件中,.htaccess
文件也可以这样做
phpvalue include_path new/path
关于apache - 什么可以改变 php.ini 和 PHP 文件之间的 include_path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1156414/