为什么使用错误的php.ini?

时间:2012-01-04 19:50:00

标签: php apache

我在附加域(共享托管环境)上安装了WordPress,主题使用ini_get('allow_url_fopen')来确定如何引用帖子图片。 ini_get('allow_url_fopen')返回的值不同于我的自定义php.ini文件中的值,该文件位于WP安装目录中。

如果我从WP目录中的测试文件运行phpinfo(),我发现PHP有这些设置:

Configuration File (php.ini) Path   /usr/lib
Loaded Configuration File   /home/ACCOUNT/public_html/ADD-ON DIRECTORY/php.ini

但是,如果我从/ home / ACCOUNT / public_html / ADD-ON DIRECTORY / wp-content运行phpinfo(),则使用不同的配置文件:

Configuration File (php.ini) Path   /usr/lib
Loaded Configuration File   /usr/local/lib/php.ini

为什么要加载错误的配置文件?

2 个答案:

答案 0 :(得分:1)

好的,我的主持人正在使用suPHP。使用suPHP(我猜想,phpSuExec),子目录不会从php.ini文件继承配置。 (他们将使用默认的php.ini。)

http://www.geeksengine.com/article/php-include-path.html

解决这个问题的两种方法:

  • 将自定义php.ini文件放在从
  • 加载脚本的每个目录中
  • 使用.htaccess中的suPHP_ConfigPath /home/username/public_html/指令指向包含自定义php.ini的目录,并使其影响所有尚未包含php.ini的子目录

答案 1 :(得分:0)

这是与您的托管公司相关的问题,而不是特别是php。如果您使用自己构建的特定系统,则需要查看用于运行php文件的apache扩展。

例如,在我为工作而构建的系统上,我使用SUPHP作为脚本引擎。这允许我配置查找特定PHP.ini文件的位置。

祝你好运