在 CentOS 上调 PHP 安全参数,通常是通过修改 php.ini 配置文件来完成的。下面按“找配置 → 改参数 → 生效 → 验证”的流程说明,并列出常见安全参数。
php --ini
或
php -i | grep "Loaded Configuration File"
常见路径:
/etc/php.ini/etc/php.d/*.ini/etc/php-fpm.conf/etc/php-fpm.d/www.conf编辑文件:
vi /etc/php.ini
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,phpinfo
视业务需求调整,不要误禁业务函数
allow_url_fopen = Off
allow_url_include = Off
file_uploads = On
upload_max_filesize = 2M
post_max_size = 8M
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
expose_php = Off
session.cookie_httponly = 1
session.cookie_secure = 1 ; 仅 HTTPS
session.use_strict_mode = 1
编辑:
vi /etc/php-fpm.d/www.conf
user = www
group = www
listen = /run/php-fpm/www.sock
listen.owner = www
listen.group = www
listen.mode = 0660
无需重启,直接生效
systemctl restart php-fpm
systemctl restart httpd
systemctl restart nginx php-fpm
php -i | grep "disable_functions"
php -i | grep "expose_php"
chown -R www:www /var/www/html
chmod -R 755 /var/www/html
yum update php*
如果你能告诉我:
我可以给你更精确的一键配置示例。