Red Hat环境下PHP CLI执行时如何阻止头部信息输出?
解决PHP CLI输出X-Powered-By和Content-type头到日志的问题
这问题我之前在类似环境里碰到过,其实是PHP CLI模式下默认会输出这些HTTP头信息,给你几个实用的解决办法:
方法1:命令行添加-q参数(最快捷)
直接修改执行命令,加上-q(quiet)参数,它会禁止PHP CLI输出任何HTTP头信息:
php -q myscript.php >> my.log
这个参数专门针对CLI场景设计,能一次性解决两行多余输出的问题,不用改配置或代码。
方法2:修改CLI版php.ini配置(全局生效)
如果你希望所有CLI脚本都不再输出这些头,可以修改PHP CLI对应的配置文件(注意和Web服务用的php.ini不是同一个):
- 先找到CLI版php.ini的路径:
php -i | grep "Loaded Configuration File" - 打开该文件,修改以下两个配置项:
# 关闭X-Powered-By头 expose_php = Off # 清空默认Content-Type,避免输出该行 default_mimetype = "" - 保存后,再次执行脚本就不会有多余输出了。
方法3:在脚本内临时设置(脚本层面控制)
如果不想影响全局配置或修改命令行参数,可以在myscript.php的最开头添加以下代码,临时覆盖配置:
// 禁用X-Powered-By输出 ini_set('expose_php', 0); // 清空默认Content-Type ini_set('default_mimetype', '');
这样只有当前脚本会生效,适合需要单独控制的场景。
内容的提问来源于stack exchange,提问作者Michaël Jullien
相关产品推荐
相关产品推荐

