我有一堆在远程网络服务器上运行的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
。
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
看看
/usr/include/php5/main/build-defs.h:79:
#define PHP_INCLUDE_PATH ".:/usr/share/php:/usr/share/pear"
(对不起,这里没有Red Hat,发行版是Debian)。