文章目录
- 版本 状态 WordPress支持 PHP 7.4 安全支持已结束 ✓ PHP 8.0 安全支持已结束 ✓ PHP 8.1 安全支持中 ✓ PHP 8.2 主流推荐 ✓
-
- sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip sudo update-alternatives --set php /usr/bin/php8.2
- sudo dnf install epel-release sudo dnf install dnf-utilities sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm sudo dnf module reset php sudo dnf module enable php:remi-8.2 sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip
- sudo nano /etc/nginx/conf.d/php-fpm.conf fastcgi_pass unix:/run/php/php8.2-fpm.sock; sudo systemctl restart nginx php8.2-fpm
- sudo apt install php7.4-fpm php7.4-mysql sudo update-alternatives --set php /usr/bin/php7.4 sudo systemctl restart nginx php7.4-fpm
- // 检查PHP版本 echo phpversion(); // 应输出 8.2.x // 检查WordPress健康状态 // 访问 /wp-site/wp-admin/site-health.php
- ; php.ini推荐设置 memory_limit = 256M max_execution_time = 300 upload_max_filesize = 64M post_max_size = 100M date.timezone = Asia/Shanghai ; PHP 8.2新增设置 zend.max_allowed_stack_size = -1 升级PHP版本是提升网站性能和安全性最有效的手段之一,建议尽快从PHP 7.4迁移到PHP 8.2。
本文详细介绍PHP从7.4升级到8.2的完整流程,包括兼容性检查、升级步骤和回滚方案。
| 版本 | 状态 | WordPress支持 |
|---|---|---|
| PHP 7.4 | 安全支持已结束 | ✓ |
| PHP 8.0 | 安全支持已结束 | ✓ |
| PHP 8.1 | 安全支持中 | ✓ |
| PHP 8.2 | 主流推荐 | ✓ |
php -v
php -m # 查看已安装扩展
php -v
php -m # 查看已安装扩展
在 wp-config.php 中添加:
// 启用调试模式
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
使用PHPStan或phan检测代码:
composer require --dev phpstan/phpstan
./vendor/bin/phpstan analyse wp-content/plugins/my-plugin/
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip
sudo update-alternatives --set php /usr/bin/php8.2
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip
sudo update-alternatives --set php /usr/bin/php8.2
sudo dnf install epel-release
sudo dnf install dnf-utilities
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf module reset php
sudo dnf module enable php:remi-8.2
sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip
sudo dnf install epel-release
sudo dnf install dnf-utilities
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf module reset php
sudo dnf module enable php:remi-8.2
sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip
sudo nano /etc/nginx/conf.d/php-fpm.conf
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
sudo systemctl restart nginx php8.2-fpm
sudo nano /etc/nginx/conf.d/php-fpm.conf
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
sudo systemctl restart nginx php8.2-fpm
| 废弃功能 | 替代方案 |
|---|---|
each() |
foreach() |
create_function() |
匿名函数 |
utf8_encode() |
mb_convert_encoding() |
money_format() |
NumberFormatter |
// PHP 7.4(废弃)
foreach ($array as $key => list($a, $b)) {}
// PHP 8.2(正确)
foreach ($array as $key => $item) {
[$a, $b] = $item;
}
// PHP 7.4(废弃)
foreach ($array as $key => list($a, $b)) {}
// PHP 8.2(正确)
foreach ($array as $key => $item) {
[$a, $b] = $item;
}
sudo apt install php7.4-fpm php7.4-mysql
sudo update-alternatives --set php /usr/bin/php7.4
sudo systemctl restart nginx php7.4-fpm
sudo apt install php7.4-fpm php7.4-mysql
sudo update-alternatives --set php /usr/bin/php7.4
sudo systemctl restart nginx php7.4-fpm
// 检查PHP版本
echo phpversion(); // 应输出 8.2.x
// 检查WordPress健康状态
// 访问 /wp-site/wp-admin/site-health.php
// 检查PHP版本
echo phpversion(); // 应输出 8.2.x
// 检查WordPress健康状态
// 访问 /wp-site/wp-admin/site-health.php
; php.ini推荐设置
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 100M
date.timezone = Asia/Shanghai
; PHP 8.2新增设置
zend.max_allowed_stack_size = -1
; php.ini推荐设置
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 100M
date.timezone = Asia/Shanghai
; PHP 8.2新增设置
zend.max_allowed_stack_size = -1
升级PHP版本是提升网站性能和安全性最有效的手段之一,建议尽快从PHP 7.4迁移到PHP 8.2。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)