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

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…

4 weeks 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…

1 year ago

Cara Memindahkan Saham ke Sekuritas Lain

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

2 years ago

Tahun Baru, Markas Baru, Tulisan Baru

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

2 years ago

Mengatasi “Error while performing update: Input/output error (5)” Saat Update Tuxera pada MacOS

Kembali lagi bersama saya, setelah beberapa lama tidak update tulisan pada blog ini :D kali…

2 years ago

Konfigurasi PPTP Client pada Container Docker CLI

PPTP adalah kependekan dari Point-toPoint Tunneling Protocol yang merupakan bahasa yang membuat komputer dapat berkomunikasi…

3 years ago