【问题标题】:How to check where Apache is looking for a php.ini file?如何检查 Apache 在哪里寻找 php.ini 文件?
【发布时间】:2010-12-16 00:30:14
【问题描述】:

我感觉 Apache 正在使用与我正在编辑的文件不同的 php.ini 文件。我在我的 php.ini 文件中进行了更改,重新启动 Apache,并且更改不会生效。所以我不知道该怎么办了。

有什么想法吗?

更新:发现它使用了正确的 php.ini 文件...但我仍然不知道该怎么办!

【问题讨论】:

  • 注意: php-cliphp.ini 文件与 apache2php.ini 文件不同。我建议将一个符号链接到另一个以使它们保持同步并避免混淆!
  • $ php -r "phpinfo();" | grep php.ini

标签: apache php


【解决方案1】:

要查找由 PHP 运行的文件,请创建一个 phpinfo 文件(只是 <?php phpinfo();?>)并查找“配置文件 (php.ini) 路径”指令。

【讨论】:

  • 我的显示“没有价值”,如何解决?
【解决方案2】:

从命令行运行

php -i |grep "php.ini" 

这将描述 php 从中加载其 ini 文件的位置。可以通过重新编译php来重新配置php.ini的位置。

【讨论】:

  • 这将显示 php-cli 的 ini 文件,它不一定与 apache php 模块使用的相同
  • 为了得到 apache cli,我发现 sudo find /etc/ -name php.ini | grep 'apache2' 得到了我需要的东西。
  • 这里是 Ubuntu ls /etc/apache2/mods-enabled/php*.load 的命令,上面的评论只有在你只有 1 个版本的 PHP 时才有效。
【解决方案3】:

phpinfo() 的输出将包含此内容。当使用 PHP 作为 Apache 模块时,可以使用 PHPIniDir in httpd.conf(或类似的)进行配置。

【讨论】:

    【解决方案4】:

    要获取 Apache 正在使用的 php.ini 文件,您可能必须将 phpinfo() 添加到 .php 文件中并在浏览器中打开它。因为php -r "phpinfo();" | grep php.ini 将与php --ini 相同。哪个 php.ini 用于 CLI。

    【讨论】:

      【解决方案5】:

      问你一个问题,你在 unix 或 windows 上运行什么平台? 如果它是基于 unix 的,请检查您的 php.ini 是否与 /etc/httpd 位于同一目录中。同样,apache 的安装可能会有所不同,因此请检查...或发出命令“find / -name php.ini -print”(不带引号)以查看您使用的是哪个

      好的。既然您说您找到了正确的 php.ini,那么当您编辑 php.ini 并重新加载 apache 时,听起来好像缺少某些东西。在日志目录 /var/log/httpd 中查找 error_log 并检查是否有错误...这将是一个开始!

      【讨论】:

      • 在 /var/log 中没有什么叫做 httpd...也许不是雪豹的地方可以看?
      • 嗯...您正在运行 Snow Leopard(我不熟悉它,但可以猜测它类似于 freebsd 变体)...在 /var/ 中挖掘是值得的记录并查看日志文件的保存位置...或者更好地检查 httpd.conf(apache 的配置文件)以查看实际日志文件的存储位置...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2010-09-25
      • 2015-03-28
      相关资源
      最近更新 更多