Installer et mettre à jour PHP 8
Conditions préalables
- Ouvrez une fenêtre de terminal avec l'utilisateur root ou équivalent, exécutez
php -v
. - Vérifiez que la version 7.x est installée.
- Il est recommandé d'effectuer une backup.
Rocky Linux 8/AlmaLinux 8/RHEL 8
Mise à jour vers PHP 8.0
- Configurez les dépôts:
dnf module reset php -y dnf -y module enable php:remi-8.0
- Installez PHP:
dnf install -y \ php php-mcrypt php-cli php-gd \ php-curl php-session php-mysqlnd \ php-ldap php-zip php-zlib php-fileinfo \ php-gettext php-snmp php-mbstring \ php-pecl-zip php-xmlrpc \ php-xml php-yaml
- Redémarrez php-fpm :
systemctl restart php-fpm
. - Vérifiez la version installée :
php -v
.
Mise à jour vers PHP 8.2
dnf module reset php -y dnf -y module enable php:remi-8.2 dnf install -y \ php php-mcrypt php-cli php-gd \ php-curl php-session php-mysqlnd \ php-ldap php-zip php-zlib php-fileinfo \ php-gettext php-snmp php-mbstring \ php-pecl-zip php-xmlrpc \ php-xml php-yaml systemctl restart php-fpm
Ubuntu server 22.04
dpkg -l | grep php | tee packages.txt # Remove old PHP # When upgrading from older PHP version: a2disconf php8.1-fpm 2> /dev/null a2disconf php8.0-fpm 2> /dev/null dpkg -l | grep php | awk '{print $2}' | xargs apt -y purge ## Define new php export DEBIAN_FRONTEND=noninteractive export NEEDRESTART_SUSPEND=1 export PHPVER="8.2" add-apt-repository ppa:ondrej/php apt update apt install -y php$PHPVER php$PHPVER-fpm php$PHPVER-common \ php$PHPVER-cli libapache2-mod-fcgid apache2 \ php$PHPVER-bz2 php$PHPVER-mbstring php$PHPVER-intl php$PHPVER-mcrypt \ php$PHPVER-gd php$PHPVER-curl php$PHPVER-mysql php$PHPVER-ldap \ php$PHPVER-fileinfo php$PHPVER-gettext php$PHPVER-snmp php$PHPVER-mbstring \ php$PHPVER-zip php$PHPVER-xmlrpc php$PHPVER-xml php$PHPVER-yaml a2enmod proxy_fcgi setenvif a2enconf php$PHPVER-fpm ## Prepare php config rm -f /etc/php.ini ln -s /etc/php/$PHPVER/fpm/php.ini /etc/ sed --follow-symlinks -i -e "s/^max_input_time.*/max_input_time = -1/g" /etc/php.ini sed --follow-symlinks -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini sed --follow-symlinks -i -e "s/^upload_max_filesize.*/upload_max_filesize = 800M/g" /etc/php.ini sed --follow-symlinks -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.ini sed --follow-symlinks -i -e "s/.*post_max_size =.*/post_max_size = 800M/" /etc/php.ini sed --follow-symlinks -i -e "s/^disable_functions/;disable_functions/" /etc/php.ini systemctl enable php$PHPVER-fpm --now systemctl restart php$PHPVER-fpm systemctl restart apache2