【问题标题】:Change php.ini location更改 php.ini 位置
【发布时间】:2012-05-10 07:12:47
【问题描述】:

是否可以更改 php.ini 的位置以供 Apache 使用?当我做php -i | grep 'Configuration File'时,结果是:

路径 => /usr/local/etc

加载的配置文件 => /usr/local/etc/php.ini

但是phpinfo()的结果是

配置文件 (php.ini) 路径:/etc

我可以将php.ini从/usr/local/etc/复制到/etc/,但是可以更改php.ini文件夹吗?

我使用自制软件安装了 PHP,我使用的是 OS X Snow Leopard。

【问题讨论】:

  • 如果作为模块安装,请使用 PHPIniDir。
  • @Zendy 你是怎么解决这个问题的?

标签: macos osx-snow-leopard php homebrew


【解决方案1】:

PHP 在通过命令行运行与作为 Web 服务器模块运行时使用不同的 .ini 文件。当您 grep php -i 的结果时,您将获得命令行 ini。最好为两种环境分别设置 ini。

如果您必须更改 PHP 查找 php.ini 文件的目录,您可以在 Web 服务器 conf 文件中使用 PHPIniDir。

如果您只想添加要扫描的其他目录,可以设置PHP_INI_SCAN_DIR 环境变量。

【讨论】:

  • 好的,我在哪里添加 PHPIniDir 或 PHP_INI_SCAN_DIR?我只是将其添加到httpd.conf 吗?
  • 哦,如果你不介意我问,为什么在两个不同的环境中使用单独的 ini 是个好习惯?
  • PHPIniDir 进入httpd.conf。 PHP_INI_SCAN_DIR 是一个环境变量,需要通过运行 apache 的用户导出。多个配置很常见,因为环境的不同足以保证它们自己的设置(一个由用户发起,另一个由匿名 Web 请求发起)。
  • 我的 httpd.conf 文件是空的,当我添加 PHPIniDir="path to folder of server" 时,当我重新启动它时 apache 崩溃。 (来自serverfault.com/questions/469398/…)
  • 感谢export PHP_INI_SCAN_DIR=/etc/php.d/解决了我的问题
【解决方案2】:

要更改 php.ini 文件路径,我们必须在 apache 配置文件 'httpd.conf' 语法中声明 PHPINIDir:

PHPINIDir "path_to_ini_file";

【讨论】:

  • 结尾不应该有分号,只是简单的PHPINIDir "/etc/php.ini",然后别忘了重启你的apache(即sudo apachectl restart)
猜你喜欢
  • 2013-10-12
  • 2016-03-10
  • 2015-04-05
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多