在php8.5环境中,默认的配置会向客户端返回PHP的版本信息,其中X-Powered-By响应头会直接显示PHP的版本号,同时部分错误信息也可能泄露版本相关内容,这些信息的暴露会增加网站的安全隐患,因此需要采取对应方法隐藏相关内容。

隐藏X-Powered-By头信息的方法
修改php.ini配置文件
这是最直接且通用的方法,适用于所有运行php8.5的环境,不管是Apache还是Nginx搭配php8.5的场景都可以使用。
首先找到php8.5对应的php.ini配置文件,不同系统的路径可能存在差异,常见的路径有/etc/php/8.5/cli/php.ini、/usr/local/php8.5/etc/php.ini等,也可以通过phpinfo()函数查看配置文件加载路径。
在php.ini中找到expose_php配置项,默认值是On,将其修改为Off即可:
; 是否暴露PHP的版本信息在响应头中 ; 默认值为On,修改为Off即可隐藏X-Powered-By头 expose_php = Off
修改完成后需要重启php8.5的服务让配置生效,如果是php-fpm模式,执行对应的重启命令即可,比如systemctl restart php8.5-fpm。
服务器层面单独配置(以Nginx为例)
如果不想修改php.ini,也可以在Nginx的配置文件中通过指令隐藏对应的响应头,这种方法不需要调整PHP本身的配置。
在Nginx的站点配置文件中,添加如下配置:
server {
listen 80;
server_name example.ipipp.com;
root /var/www/html;
location ~ .php$ {
fastcgi_pass unix:/run/php/php8.5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# 隐藏X-Powered-By响应头
fastcgi_hide_header X-Powered-By;
}
}
修改后重新加载Nginx配置即可生效,执行nginx -s reload命令。
隐藏其他PHP版本相关泄露点
除了X-Powered-By头之外,还有一些场景可能泄露PHP8.5的版本信息,需要一并处理。
关闭错误页面版本显示
php8.5默认的错误页面会显示版本信息,需要关闭错误显示,修改php.ini中的如下配置:
; 关闭错误显示,避免错误页面泄露版本 display_errors = Off ; 开启错误日志,错误记录到日志文件而不返回给客户端 log_errors = On error_log = /var/log/php8.5_errors.log
调整PHP信息函数权限
phpinfo()函数会完整展示PHP的所有配置和版本信息,如果网站中不需要该函数,可以在php.ini中禁用:
; 禁用危险函数,包含phpinfo disable_functions = phpinfo,exec,passthru,shell_exec,system
配置验证方法
完成配置后,可以通过curl命令查看响应头,确认版本信息是否已经隐藏:
# 查看响应头信息 curl -I http://example.ipipp.com
如果配置生效,响应头中不会再出现X-Powered-By字段,错误页面也不会显示PHP8.5的版本号,说明隐藏操作已经完成。
php8.5隐藏PHP版本隐藏X-Powered-Byphp配置修改时间:2026-06-25 12:42:16