sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-bcmath php-intl php-imagick php-redis php-apcu -y
# For Apache:
sudo apt install libapache2-mod-php -y
sudo systemctl restart apache2
# For Nginx:
sudo systemctl enable --now php-fpm
Check version:
php -v
sudo apt update
sudo apt install software-properties-common ca-certificates curl -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.4 php8.4-cli php8.4-fpm php8.4-mysql php8.4-curl php8.4-gd \
php8.4-mbstring php8.4-xml php8.4-zip php8.4-bcmath php8.4-intl php8.4-imagick \
php8.4-redis php8.4-apcu -y
# Apache:
sudo apt install libapache2-mod-php8.4 -y
sudo a2dismod php8.3 # disable if previously enabled
sudo a2enmod php8.4
sudo systemctl restart apache2
# Nginx:
sudo systemctl enable --now php8.4-fpm
Check version:
php8.4 -v
For Apache:
sudo a2dismod php8.3
sudo a2enmod php8.4
sudo systemctl restart apache2
For CLI:
sudo update-alternatives --set php /usr/bin/php8.4
Quick test file:
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php
→ Open http://your-server/info.php (delete after!)
| Use Case | Recommended | Install Method |
|---|---|---|
| New project / latest features | PHP 8.4 | PPA method |
| Stability + official support | PHP 8.3 | Default apt |
| Legacy / older app | PHP 8.2 or 8.1 | Same PPA |
| WordPress, Laravel, Symfony | PHP 8.3 or 8.4 | Either |