Word Press 建站 3:PHP 主流版本(7.4 / 8.3)的安装 / 升级 / 卸载
PHP7 和 PHP8 是 PHP 的两个重要版本。PHP7 显著提升了性能和内存效率,增强了错误处理机制,广…
一、PHP 简述
1.1 PHP 7.4
发布时间:2019 年 11 月
主要特点:
- 箭头函数(Arrow Functions):用
fn()简化匿名函数写法,适合一行表达式函数。 - 类型提示增强:支持 typed properties,可以在类属性中直接声明类型。
- 预加载(Preloading):提升应用性能,常用于大型框架和 WordPress 插件优化。
- null 合并赋值运算符 (
??=):简化变量默认值赋值操作。 - 性能改进:相比 PHP 7.3,性能提升明显,兼容性较好,WordPress 官方广泛支持。
适用场景:
- WordPress 5.x 系列和大多数插件/主题稳定运行。
- 对代码兼容性要求高、稳定性优先的项目。
- VPS 或共享主机环境,资源占用相对低。
1.2 PHP 8.3
发布时间:预计 2025 年底(已发布 RC)
主要特点:
- JIT 进一步优化:提升计算密集型任务性能,但对 WordPress 插件影响有限。
- 新的特性:
- Readonly classes:整个类属性只读,增强数据安全性。
- Array unpacking 支持字符串键:在数组合并操作中更灵活。
- fsync() 和 fdatasync() 支持:增强文件操作控制。
- 改进的错误处理:更多类型安全和警告信息,有助于调试。
- 弃用与废弃:
- 某些过时函数和用法被正式弃用,需要注意兼容性。
- 性能提升:整体执行速度比 PHP 7.4 高 10%–30%,尤其在高并发或复杂计算场景。
适用场景:
- 希望使用最新 PHP 特性开发插件或主题。
- 对性能和新特性有需求的托管环境。
- 需要严格类型安全、现代化开发习惯的项目。
二、系统PHP安装源
2.1 PHP 7.4
##查看php模块列表
dnf module list php
## 手动安装EPEL9
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y
##安装Remi仓库
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
##重置php模块,避免冲突
dnf module reset php -y
##启动PHP7.4
dnf module enable php:remi-7.4 -y
2.2 PHP 8.3
yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
yum module reset php
yum module enable php:remi-8.2
三、rpm/dnf方式安装
3.1 版本7.4
##安装
dnf install -y php php-fpm php-cli php-common php-mysqlnd php-gd php-mbstring php-xml php-curl php-zip php-opcache php-pecl-apcu php-intl
3.2 版本8.3
yum install -y php php-fpm php-cli php-common php-mysqlnd php-gd php-mbstring php-xml php-curl php-zip php-opcache php-pecl-apcu php-imagick php-pecl-redis php-pecl-memcached php-intl
四、PHP卸载/升级
4.1 确认版本
rpm -qa | grep -i php
php-json-7.4.33-23.el9.remi.x86_64
php-common-7.4.33-23.el9.remi.x86_64
php-pdo-7.4.33-23.el9.remi.x86_64
php-cli-7.4.33-23.el9.remi.x86_64
php-opcache-7.4.33-23.el9.remi.x86_64
oniguruma5php-6.9.10-1.el9.remi.x86_64
php-mbstring-7.4.33-23.el9.remi.x86_64
php-sodium-7.4.33-23.el9.remi.x86_64
gd3php-2.3.3-9.el9.remi.x86_64
php-fpm-7.4.33-23.el9.remi.x86_64
php-xml-7.4.33-23.el9.remi.x86_64
php-7.4.33-23.el9.remi.x86_64
php-gd-7.4.33-23.el9.remi.x86_64
php-pecl-zip-1.22.5-1.1.el9.remi.7.4.x86_64
php-mysqlnd-7.4.33-23.el9.remi.x86_64
php-pecl-imagick-im7-3.8.0-1.el9.remi.7.4.x86_64
php-pecl-msgpack-3.0.0-1.el9.remi.7.4.x86_64
php-pecl-igbinary-3.2.16-1.el9.remi.7.4.x86_64
php-pecl-memcached-3.3.0-1.el9.remi.7.4.x86_64
php-pecl-redis5-5.3.7-1.el9.remi.7.4.x86_64
php-devel-7.4.33-23.el9.remi.x86_64
php-intl-7.4.33-23.el9.remi.x86_64
php-soap-7.4.33-23.el9.remi.x86_64
php-bcmath-7.4.33-23.el9.remi.x86_64
4.2 一键卸载
sudo systemctl stop php-fpm 2>/dev/null || true
# 卸载所有 PHP 7.4 相关包
sudo dnf remove -y 'php*' 'oniguruma5php' 'gd3php'
# 自动清理依赖
sudo dnf autoremove -y
# 删除残留目录
sudo rm -rf /etc/php.d /etc/php-fpm.d /etc/php.ini /etc/php /var/lib/php
# 禁用并删除旧服务
sudo systemctl disable --now php-fpm 2>/dev/null || true
4.3 升级
## 修改php系统源
yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
yum module reset php
yum module enable php:remi-8.2
##安装相关程序
yum install -y php php-fpm php-cli php-common php-mysqlnd php-gd php-mbstring php-xml php-curl php-zip php-opcache php-pecl-apcu php-imagick php-pecl-redis php-pecl-memcached php-intl
五、PHP 相关命令
systemctl status php-fpm
systemctl start php-fpm
systemctl stop php-fpm
systemctl enable php-fpm
获取模块信息:php -m
六、相关配置
6.1 配置修改
为了前端可以正常请求php传输的session,权限文件的配置必不可少
vim /etc/php-fpm.d/www.conf
listen = 127.0.0.1:9000
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx
6.2 性能优化
安装完 PHP 后,考虑性能优化也是至关重要
vim /etc/php.ini
# 设置内存限制
memory_limit = 256M
# 开启 OPcache
opcache.enable=1
优化性能的同时,不能对设备过于拖累,要对进程数量进行限制
vim /etc/php-fpm.d/www/conf
## 限制进程数自增
pm = static
## 限制进程数
pm.max_children = 2
6.3 问题预处理
- PHP 在运行时会在 /var/lib/php 目录下创建 session 文件、缓存文件
- 如果这些文件或目录不属于运行 php-fpm 的用户(通常是 nginx 或 www-data),PHP无法写入,会引发此问题
- 修改归属为 nginx:nginx 后,php-fpm 就有权限写入这些目录和文件了
- 仅将 PHP 运行用户设置为目录所有者,而不是给全体用户写权限,比
chmod 777安全
PHP Warning: session_start(): open(/var/lib/php/sess_XXXXX, O_RDWR) failed: Permission denied
cd /var/lib/php
chown -R nginx:nginx /var/lib/php
七、测试访问
配置好nginx映射,在nginx/html目录写入示例代码
随后浏览器访问http://your_domain/phpinfo.php
echo "<?php phpinfo(); ?>" > nginx/html/phpinfo.php
示例图片

