CentOS PHP配置更新步骤
在进行任何更新操作前,务必备份现有PHP配置文件及数据,避免操作失误导致数据丢失。
cp /etc/php.ini /etc/php.ini.backupcp -r /etc/php.d /etc/php.d.backup/etc/httpd/conf.d/php.conf、Nginx的/etc/nginx/conf.d/default.conf)确保系统软件包为最新版本,避免依赖冲突:
sudo yum update -y(CentOS 7)或 sudo dnf update -y(CentOS 8/Stream)
CentOS默认仓库的PHP版本较旧,需通过Remi仓库安装最新稳定版:
sudo yum install -y epel-releasesudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm(CentOS 7)或对应版本的Remi仓库(如CentOS 8用remi-release-8.rpm)sudo yum-config-manager --enable remi-php74(可根据需求替换为remi-php80、remi-php81等)通过Yum包管理器更新PHP至最新版本(或指定版本):
sudo yum update php\* -y
此命令会自动更新PHP核心、常用模块(如php-cli、php-fpm、php-mysqlnd、php-gd等)
更新完成后,检查PHP版本是否已变更:
php -v
输出应显示新安装的PHP版本(如PHP 7.4.33 (cli))
编辑主配置文件/etc/php.ini,调整关键参数以满足应用需求:
date.timezone = Asia/Shanghai(替换为你的时区)upload_max_filesize = 64M、post_max_size = 64M(根据应用需求调整)memory_limit = 256M(避免脚本内存溢出)display_errors = Off、log_errors = On、error_log = /var/log/php_errors.logzend_extension=opcache.so注释,并设置opcache.enable=1、opcache.memory_consumption=128等参数若通过PHP-FPM处理PHP请求(常见于Nginx或Apache反向隧道配置),需调整其配置文件:
/etc/php-fpm.d/www.conf): nginx,Apache用apache):user = nginx、group = nginxlisten = /var/run/php-fpm/php-fpm.sock(推荐,性能更高)或listen = 127.0.0.1:9000(端口模式)pm = dynamic(动态调整进程数)、pm.max_children = 50(最大子进程数,根据服务器内存调整)、pm.start_servers = 10(启动时的子进程数)sudo systemctl restart php-fpm根据使用的Web服务器,调整配置以正确处理PHP文件:
mod_php模块(若使用PHP模块模式):sudo yum install -y mod_php/etc/httpd/conf/httpd.conf中LoadModule php7_module modules/libphp7.so的注释(版本号需与实际一致)sudo systemctl restart httpd/etc/nginx/conf.d/default.conf),添加PHP处理规则:location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; # 与PHP-FPM的listen一致 fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } sudo systemctl restart nginx创建测试文件/var/www/html/info.php,内容为:<?php phpinfo(); ?>
通过浏览器访问http://服务器IP/info.php,确认: