Ada beberapa alasan mengapa kita harus install PHP multi versi dalam sebuah web server, misal kita memiliki aplikasi A yang dibangun dengan menggunakan PHP 7.2, aplikasi B dibangun dengan PHP 7.3, dan aplikasi C dibangun dengan PHP 7.4. Maka kita harus instal beberapa versi PHP dalam sebuah web server nginx.
Poin penting untuk menerapkan hal ini yaitu, dibutuhkan konfigurasi virtual host pada nginx, jadi pastikan teman-teman memiliki akses root terhadap web server untuk melakukan perubahan file virtual host pada nginx
Berikut ini langkah-langkah instalasi multi versi PHP pada nginx di Ubuntu
Note : Pastikan nginx sudah terinstall pada server Ubuntu, jika belum, silakan install dengan perintah apt-get install nginx -y
1. Secara default, PHP pada repository bawaan Ubuntu baru sampai versi 7.2 saja, apabila ingin install PHP diatas versi tersebut, harus menambahkan repository external
add-apt-repository ppa:ondrej/php -y apt-get update
Note : Apabila ketika menjalankan perintah add-apt-repository muncul pesan “Command Not Found“, silakan lihat referensi berikut : Mengatasi add-apt-repository command not found pada Ubuntu dan Debian
2. Selanjutnya jalankan perintah berikut untuk install PHP 7.2, karena menggunakan nginx, install juga PHP 7.2 FPM
apt-get install php7.2 php7.2-fpm php7.2-mbstring php7.2-curl php7.2-mysql -y
3. Install juga PHP 7.3
apt-get install php7.3 php7.3-fpm php7.3-mbstring php7.3-curl php7.3-mysql -y
4. Install juga PHP 7.4
apt-get install php7.4 php7.4-fpm php7.4-mbstring php7.4-curl php7.4-mysql -y
Baca Juga : Mengatasi Error “Perl: Warning: Setting locale failed” pada Ubuntu
Untuk menggunakan PHP multi versi, kita bisa gunakan virtual host yang ada pada nginx. Untuk lokasi file virtual host nginx ubuntu biasanya ada di directory /etc/nginx/sites-enabled/
edit file virtual host, misal /etc/nginx/sites-enabled/nama-site
Note : nama-site silakan ubah sesuai dengan nama virtual host yang ada pada web server nginx masing-masing
Kemudian cari baris seperti berikut
fastcgi_pass unix:/var/run/php/php7.X-fpm.sock;
Jika ingin menggunakan PHP 7.2, silakan sesuaikan pada bagian php7.x-fpm.sock menjadi seperti berikut
Menggunakan PHP 7.2
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
Menggunakan PHP 7.3
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
Menggunakan PHP 7.4
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
Jika sudah disesuaikan, silakan restart service nginx dan php-fpm nya
service nginx restart service php7.2-fpm restart service php7.3-fpm restart service php7.4-fpm restart
Untuk test konfigurasi, kebetulan saya sudah membuat virtual host dengan nama host masing-masing seperti berikut
Buat sebuah file phpinfo.php di masing-masing root directory tersebut untuk memastikan sudah menggunakan versi PHP yang dimaksud
echo "<?php phpinfo(); ?>" > /var/www/website-a/phpinfo.php echo "<?php phpinfo(); ?>" > /var/www/website-b/phpinfo.php echo "<?php phpinfo(); ?>" > /var/www/website-c/phpinfo.php
Test akses menggunakan browser ke masing-masing nama website tersebut
website-a menggunakan PHP 7.2
website-b menggunakan PHP 7.3
website-c menggunakan PHP 7.4
Jika sudah sesuai, silakan hapus file phpinfo.php tersebut untuk mencegah orang lain mendapatkan informasi tentang server teman-teman. Dan selanjutnya silakan teman-teman lanjut untuk develop aplikasi website sesuai dengan versi PHP yang digunakan
Cukup mudah bukan?
Mungkin cukup sekian, semoga bermanfaat
Rizky Pratama. Tinggal di Bekasi, Jawa Barat. Seorang IT di salah satu perusahaan IT. Pengguna Mac, Linux dan Windows
Selain sebagai penulis di blog ini, saya juga penulis di blog saya yang lain, yaitu https://pratama.biz.id
Pada bulan April 2024 lalu, Ubuntu telah release versi terbaru yaitu Ubuntu 24.04 LTS, sehingga…
Ngga nyangka akhirnya saya bisa login kembali ke blog saya yang sudah berdebu ini, kali…
Beberapa waktu lalu, Excellent mendapatkan project migrasi Zimbra dari versi Open Source Ke Zimbra Network…
Bulan Oktober 2022 lalu, Apple resmi release MacOS terbaru mereka, yaitu MacOS Ventura. Beberapa fitur…
Tidak terasa sudah cukup lama saya tidak update tulisan pada blog ini lagi, akhirnya kali…
Tahun baru 2022 telah tiba, tidak terasa waktu berjalan begitu cepat, banyak cerita dan kenangan…