# Add Ondřej Surý's PPA for latest PHP versions
sudo add-apt-repository ppa:ondrej/php
sudo apt update
---------------------------------
sudo apt install php8.4 php8.4-cli php8.4-fpm php8.4-common php8.4-mysql php8.4-xml php8.4-xmlrpc php8.4-curl php8.4-gd php8.4-imagick php8.4-cli php8.4-dev php8.4-imap php8.4-mbstring php8.4-opcache php8.4-soap php8.4-zip php8.4-intl
sudo apt install libapache2-mod-php8.4
---------------------------------
a2enmod proxy_fcgi setenvif
a2enconf php8.4-fpm
systemctl restart apache2
systemctl reload apache2
---------------------------------------
# Configure the default PHP version
sudo update-alternatives --config php
-----------------------------------
# Disable old PHP modules
sudo a2dismod php5.6 php7.4 php8.0 php8.1
# Enable PHP 8.4
sudo a2enmod php8.4
# Restart Apache
sudo systemctl restart apache2
-----------------------------------
php -v
----------------------------------
sudo apache2ctl -M | grep php
# Remove old PHP versions and their modules
sudo apt purge php5.6* php7.4* php8.0* php8.1*
# Clean up
sudo apt autoremove
sudo apt autoclean
------------------------------------
# Remove old configuration directories (backup first if needed)
sudo rm -rf /etc/php/5.6
sudo rm -rf /etc/php/7.4
sudo rm -rf /etc/php/8.0
sudo rm -rf /etc/php/8.1
# Remove old log files
sudo rm -rf /var/log/php5.6*
sudo rm -rf /var/log/php7.4*
sudo rm -rf /var/log/php8.0*
sudo rm -rf /var/log/php8.1*
-------------------------------------------