温馨提示×

centos中php配置要注意什么

小樊
33
2025-12-29 04:05:22
栏目: 编程语言

CentOS 中 PHP 配置要点

一 基础准备与配置文件定位

  • 保持系统与软件为最新:执行 sudo yum update -y,必要时先安装 EPEL 仓库(如 sudo yum install epel-release -y)。
  • 安装常用组件:如 php、php-fpm、php-mysqlnd、php-gd、php-mbstring、php-xml、php-zip、php-opcache
  • 明确配置文件路径:不同安装方式位置不同,常见有 /etc/php.ini/etc/php/8.x/fpm/php.ini/etc/php-fpm.d/www.conf。不确定时用命令定位:php -i | grep ‘Loaded Configuration File’
  • 修改后依次重启服务:如 systemctl restart php-fpmsystemctl restart nginxsystemctl restart httpd;可用 php -m 检查扩展是否加载成功。

二 php.ini 关键参数

  • 基础与错误:设置 date.timezone = Asia/Shanghai;生产环境建议 display_errors = Offlog_errors = On,并指定 error_log(如 /var/log/php_errors.log)。
  • 资源与上传:根据业务调整 memory_limit(如 128M–512M)、max_execution_time(如 30–300s);上传场景设置 upload_max_filesizepost_max_size(如 50M),并确保 post_max_size ≥ upload_max_filesize
  • 扩展启用:取消注释或新增如 extension=mysqli.so、extension=pdo_mysql.so、extension=gd.so、extension=mbstring.so;启用 OPcache 提升性能(见下一节)。

三 PHP-FPM 与 Web 服务器集成

  • 进程管理:在 /etc/php-fpm.d/www.conf 选择 pm = dynamic,合理设置 pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers、pm.max_requests;可按“可用内存与单进程内存”估算最大子进程数,避免 OOM。
  • 监听与权限:常用 listen = /run/php-fpm/www.sock(或 127.0.0.1:9000);确保 user/groupWeb 服务器(如 nginxapache)一致;Nginx 与 PHP-FPM 的 socket 路径或端口必须一致。
  • Nginx 示例:
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    
  • Apache 示例:启用 mod_proxy_fcgi,使用 SetHandler “proxy:unix:/run/php-fpm/www.sock|fcgi://localhost”

四 安全加固

  • 信息泄露防护:生产环境关闭 display_errors,开启 log_errors;隐藏版本信息(如 Web 服务器与响应头)。
  • 访问限制:按需设置 open_basedir(如 /var/www/html:/tmp)限制脚本可访问目录。
  • 函数禁用:在 php.ini 中禁用危险函数(如 exec、shell_exec、system、passthru 等),避免命令注入风险。
  • 文件与目录权限:Web 目录如 /var/www/html 设为 755,PHP 脚本 644;属主与 Web 服务用户一致(如 nginx:nginx)。
  • 网络安全:仅开放 80/443(如 firewall-cmd --permanent --add-port={80,443}/tcp && firewall-cmd --reload),启用 HTTPS

五 性能优化与运维监控

  • OPcache 必选:在 php.ini 启用 opcache,常用值如 opcache.memory_consumption=128opcache.max_accelerated_files=4000opcache.revalidate_freq=60opcache.enable_cli=0(CLI 一般关闭)。
  • FPM 调优:结合内存与负载设置 pm.max_children 等;开启 request_slowlog_timeout(如 5s)与 slowlog,定位慢请求;必要时开启 pm.status_path 做运行时观测。
  • 网络与压缩:Nginx 开启 Gzip 减少传输体积;静态资源与长连接按需优化。
  • 日志与验证:统一收集 PHP-FPM 错误日志、慢日志Nginx 错误日志;上线前用 info.php 校验配置是否生效,定期审计与更新。

0