WP系列2: upgrade PHP from 7.3 to 7.4 (most stable version)
first check which php version is most suitable for worpress, via this link:
I will go for stable version 7.4, since 8.x is not fully compatible.
check the current version of your server by cmd: php –version
what I got here is:
root@vir1-idehe:~# php -v
PHP 7.4.33 (cli) (built: Sep 4 2023 08:15:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
upgrade by common tutorials, but faced an error:
sudo apt install apt-transport-https lsb-release ca-certificates curl -y
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update
root@vir1-idehe:/var/www# lsb_release -sc
Traceback (most recent call last):
File "/usr/bin/lsb_release", line 25, in <module>
import lsb_release
ModuleNotFoundError: No module named 'lsb_release'
To solve this problem, try this:
# 将系统完整的lsb_release.py文件拷贝到报错的目录文件下即可
sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/bin/
Continue with upgration
sudo apt install php7.4
sudo apt-get install php7.4-{bcmath,bz2,intl,gd,mbstring,mysql,zip}
apt-get install php7.4-xml
Also disable apache2, uninstall php7.3 and install php7.4-pfm by following commands:
sudo systemctl disable --now apache2
apt-get install php7.4-fpm
sudo apt purge php7.3 libapache2-mod-php7.3
XML is necessary to install, otherwise you will have critial issues on site health.
change nginx php settings in /etc/wordpress/sites-available/worpress.conf (this is the file I use)
change the php7.3-pfm to 7.4 as below:
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_read_timeout 3600s;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
}
restart nginx engine, now you should all done, check it out.