修改PHP CLI的php.ini中html_errors配置未生效问题排查
PHP CLI html_errors配置不生效的排查方案
检查额外加载的配置文件
PHP CLI除了主配置文件,还会加载conf.d目录下的额外.ini文件,这些文件的设置会覆盖主配置。执行以下命令查看额外配置路径:php -i | grep 'Additional .ini files parsed'遍历这些路径下的所有.ini文件,查找是否存在
html_errors = Off的设置,找到后修改为On或直接注释掉。确认PHP启动时是否指定了其他配置文件
如果执行PHP命令时使用了-c参数指定自定义配置文件,会跳过默认的/etc/php/8.1/cli/php.ini。检查你的启动命令是否包含类似内容:php -c /path/to/other/php.ini your_script.php若存在,需要修改指定的配置文件,或者去掉
-c参数使用默认配置。排查是否被PHP代码或自动加载脚本覆盖
部分环境会通过auto_prepend_file配置自动加载全局脚本,或者你的PHP脚本里直接调用ini_set('html_errors', 0)修改了配置。可以通过以下命令排除代码干扰,查看纯INI配置的生效情况:php -n -i | grep 'html_errors'这里
-n参数会让PHP不加载任何额外配置文件和自动加载脚本,如果此时html_errors显示为On,说明是后续的配置或代码覆盖了设置;如果仍然是Off,可能是PHP编译时默认关闭了该选项,需要重新编译或确认编译参数。验证配置文件权限
确认配置文件的读取权限,确保当前用户能读取该文件:ls -l /etc/php/8.1/cli/php.ini一般权限设置为
rw-r--r--(644)即可,若权限不足,执行sudo chmod 644 /etc/php/8.1/cli/php.ini修正。
内容的提问来源于stack exchange,提问作者Paolo42
相关产品推荐
相关产品推荐

