Tips dan Trick

Cara Install PHP Multi Versi Dengan Nginx Pada Ubuntu

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

Install Multi Versi PHP

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

Penggunaan PHP Multi Versi pada Nginx

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

Test Konfigurasi

Untuk test konfigurasi, kebetulan saya sudah membuat virtual host dengan nama host masing-masing seperti berikut

  • website-a.rizkypratama.id (PHP 7.2) – root directory (/var/www/website-a)
  • website-b.rizkypratama.id (PHP 7.3) – root directory (/var/www/website-b)
  • website-c.rizkypratama.id (PHP 7.4) – root directory (/var/www/website-c)

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

Share
Published by
Rizky Pratama

Recent Posts

Cara Ubah Port SSH pada Ubuntu 24.04 LTS

Pada bulan April 2024 lalu, Ubuntu telah release versi terbaru yaitu Ubuntu 24.04 LTS, sehingga…

1 month ago

Membuat Command Alias Dengan Parameter pada .zprofile Mac OS

Ngga nyangka akhirnya saya bisa login kembali ke blog saya yang sudah berdebu ini, kali…

3 months ago

Tips Zimbra : Mengatasi Service Cbpolicyd Starting Failed Setelah Migrasi ke Rocky Linux 8

Beberapa waktu lalu, Excellent mendapatkan project migrasi Zimbra dari versi Open Source Ke Zimbra Network…

8 months ago

Mengatasi Error “no matching host key type found. Their offer: ssh-rsa,ssh-dss” Setelah Upgrade MacOS Ventura Saat Melakukan SSH

Bulan Oktober 2022 lalu, Apple resmi release MacOS terbaru mereka, yaitu MacOS Ventura. Beberapa fitur…

2 years ago

Cara Memindahkan Saham ke Sekuritas Lain

Tidak terasa sudah cukup lama saya tidak update tulisan pada blog ini lagi, akhirnya kali…

3 years ago

Tahun Baru, Markas Baru, Tulisan Baru

Tahun baru 2022 telah tiba, tidak terasa waktu berjalan begitu cepat, banyak cerita dan kenangan…

3 years ago