我运行的是 Leopard 10.5.8,其中装有 Apple 提供的 PHP 版本 (5.2.10) 和 Apache 版本 (2.2.11)。在停止/启动 Apache 后,对 /etc/php.ini 文件所做的更改没有生效。phpinfo() 和 shell 命令 php -i 确认了“现状”。php.ini 文件权限为 444,所有者为 root/wheel。它是从 php 发行版附带的 php.ini.default 文件中复制而来的。以下是我想更改的内容 - 看起来应该是一些非常基本的内容:
include_path = ".:/usr/local/some_directory"
// php.ini.default 文件中的原始条目已被注释掉
// 目录 '/usr/local/some_directory' 存在
// phpinfo() 仅显示 include_path = .:
magic_quotes_gpc = Off
// php.ini.default 中的原始条目值为 'On'
// phpinfo() 显示 magic_quotes_gpc = On
我浏览了整个 php.net 网站,但无法确定我的错误。在重新启动 Apache 后,对 php.ini 文件的更改不应该立即被解释吗?
有人遇到过类似的问题吗?非常感谢您提出解决此故障的建议。我知道我可以将解决方法硬编码到我的 PHP 代码中,但这实际上违背了拥有 php.ini 文件的全部目的……
答案1
问题解决了。出于某种原因,我对第 305 行 WRT 的错误报告所做的更改导致了问题。我删除了“& ~E_NOTICE”以帮助调试。我不知道为什么这个更改会导致失败 - 但我能够继续前进......
注意:由于本网站使用的格式规则,我无法正确粘贴 php.ini 文件中的两行。
答案2
无论您做什么都error_reporting
与 SSL 密钥摘要无关。
更有可能的是,您从来没有真正重新启动过 Apache。
或者,你可能更改了一些环境变量,这样 PHP 才能找到你更改的 php.ini
或者,更现实的情况是,您将 php.ini 复制到了 PHP 正在寻找它的位置。
对于其他任何人,假设您已经安装了 php CLI,请执行以下操作来找出 php 在哪里寻找 php.ini:
php -i | grep php.ini
您无法改变它的外观。这是编译好的。
您可以将 php.ini 移动或复制到那里,甚至可以在那里创建符号链接,但那是 PHP 要查找的地方。
还要注意的是,PHP 完全不会介意从没有 php.ini 开始。它只是使用与 php.ini.default 中(大部分)匹配的默认值