Instalasi dan Konfigurasi Beberapa Versi PHP secara bersamaan di Ubuntu 24.04
Pengantar
Ubuntu 24.04 secara default hanya menyediakan satu versi PHP terbaru. Namun dalam praktiknya, sering kali administrator server membutuhkan lebih dari satu versi PHP dalam satu server. Kondisi ini umum terjadi ketika menjalankan beberapa aplikasi atau website lama dan baru secara bersamaan yang memiliki kebutuhan versi PHP yang berbeda.
Artikel ini akan membahas cara instalasi dan konfigurasi beberapa versi PHP secara bersamaan di Ubuntu 24.04, termasuk pengaturan Apache, Nginx, PHP-FPM, serta cara menentukan versi PHP yang digunakan pada setiap website.
Panduan Instalasi dan Konfigurasi Beberapa Versi PHP secara bersamaan di Ubuntu 24.04
- Persiapan Sistem
Pastikan server menggunakan Ubuntu 24.04 dan memiliki akses sudo.
lsb_release -a sudo apt update - Menambahkan Repository PHP Resmi
Ubuntu hanya menyediakan satu versi PHP. Untuk multi versi, gunakan repository OndÅ™ej Surý.
sudo apt install -y software-properties-common ca-certificates lsb-release apt-transport-https sudo add-apt-repository ppa:ondrej/php sudo apt updateRepository ini paling stabil dan digunakan luas di server production.
- Instalasi PHP Multi Versi + Ekstensi Umum
Contoh instalasi PHP 7.4, 8.1, 8.2, dan 8.3:
Cek semua versi PHP:sudo apt install -y \ php7.4 php7.4-cli php7.4-fpm php7.4-common php7.4-mysql php7.4-curl php7.4-xml php7.4-zip php7.4-gd php7.4-mbstring php7.4-intl php7.4-bcmath php7.4-soap php7.4-opcache \ php8.1 php8.1-cli php8.1-fpm php8.1-common php8.1-mysql php8.1-curl php8.1-xml php8.1-zip php8.1-gd php8.1-mbstring php8.1-intl php8.1-bcmath php8.1-soap php8.1-opcache \ php8.2 php8.2-cli php8.2-fpm php8.2-common php8.2-mysql php8.2-curl php8.2-xml php8.2-zip php8.2-gd php8.2-mbstring php8.2-intl php8.2-bcmath php8.2-soap php8.2-opcache \ php8.3 php8.3-cli php8.3-fpm php8.3-common php8.3-mysql php8.3-curl php8.3-xml php8.3-zip php8.3-gd php8.3-mbstring php8.3-intl php8.3-bcmath php8.3-soap php8.3-opcache
ls /usr/bin/php* - Mengatur Versi PHP Default (CLI)
- Versi CLI digunakan untuk composer, artisan, migration, dan cron.
sudo update-alternatives --config php -
Cek:
php -v
- Versi CLI digunakan untuk composer, artisan, migration, dan cron.
- Struktur Direktori Konfigurasi PHP
Setiap versi PHP memiliki konfigurasi terpisah:
File penting yang sering digunakan:/etc/php/7.4/ /etc/php/8.1/ /etc/php/8.2/ /etc/php/8.3/
- php.ini
- fpm/php-fpm.conf
- fpm/pool.d/www.conf
- Konfigurasi dan Manajemen PHP-FPM
Aktifkan semua PHP-FPM:
Cek socket PHP-FPM:sudo systemctl enable php7.4-fpm php8.1-fpm php8.2-fpm php8.3-fpm --now
ls /run/php/Hasil :
php7.4-fpm.sock php8.1-fpm.sock php8.2-fpm.sock php8.3-fpm.sock
Konfigurasi Apache Multi PHP
Jika menggunakan webserver apache maka ikuti panduan berikut :
- Aktifkan Module Apache
sudo a2dismod php* sudo a2enmod proxy_fcgi setenvif sudo systemctl restart apache2 - Contoh VirtualHost PHP 8.3
ServerName app83.domain.com DocumentRoot /var/www/app83 AllowOverride All Require all granted SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/" ErrorLog ${APACHE_LOG_DIR}/app83_error.log CustomLog ${APACHE_LOG_DIR}/app83_access.log combined - Contoh VirtualHost PHP 7.4
ServerName app74.domain.com DocumentRoot /var/www/app74 SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/" - Reload Apache:
sudo systemctl reload apache2
Konfigurasi Nginx Multi PHP
Jika menggunakan web server nginx ikuti panduan berikut :
- Konfigurasi Nginx Multi PHP
server { listen 80; server_name app82.domain.com; root /var/www/app82; index index.php index.html; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; } }Sesuaikan dengan versi php yang ingin digunakan,
Restart nginx:
sudo systemctl restart nginx
Verifikasi Versi PHP per Website
- Buat file info.php:
sesuaikan dengan Dokument Root yang di pakainano /var/www/php82/info.php - Isi dengan:

Akses melalui browser dan pastikan versi PHP sesuai dengan yang dikonfigurasi.
Kesimpulan
Menginstal dan mengonfigurasi beberapa versi PHP secara bersamaan di Ubuntu 24.04 memungkinkan server menjalankan berbagai aplikasi dengan kebutuhan PHP yang berbeda tanpa konflik. Dengan memanfaatkan PHP-FPM dan konfigurasi VirtualHost yang tepat, pengelolaan versi PHP menjadi lebih fleksibel, aman, dan ideal untuk lingkungan server.


