首页 > 解决方案 > PHP 忽略(大部分?)附加 .ini 文件

问题描述

我刚刚在我的 Mac 上使用 Homebrew 将 PHP 从 7.2 升级到 7.3。apcu 和 xdebug 与 pecl 一起(重新)安装。phpinfo()输出正在解析我有一些自定义扩展配置的“附加”ini文件;但是,这些文件中的任何配置都没有被使用。例如,我已经设置xdebug.max_nesting_level = 1500了应该解析的 xdebug.ini 文件,但它仍然设置为默认的 256。

两个 .ini 文件extension="xxx.so"都以 . (在基本的 php.ini 文件中没有任何扩展名的引用,例如。)我还测试了注释掉这些 refs,并且在完成时不会加载扩展名。所以,在这一点上,我假设它们被加载是因为这些文件中的引用,但没有使用其他任何东西。这两个文件都与以前的版本一样复制,它们工作得很好。

我重新启动了 PHP、Apache,甚至重新启动了机器,但都无济于事。

标签: phphomebrewinipecl

解决方案


继续搜索后想通了,并找到了类似问题的已发布答案:https ://stackoverflow.com/a/61213555/5637730

显然,不再允许在我以前的 php 安装中没有干扰任何内容的以井号 (#) 为前缀的注释。这对我来说很奇怪,因为它们显然自 5.3 以来已被弃用,并从 7.0 开始被淘汰(参见https://www.php.net/manual/en/configuration.file.php#configuration.file.changelog),但是我从 5.6 开始才使用 xdebug,从未见过警告,在 7.2 中也没有任何问题。而且,事实上,我在另一台机器上运行 7.3,同样,哈希注释的工作方式与注释一样。

无论如何,用分号 (;) 替换我的哈希解决了我的问题。


推荐阅读