Cara Jalankan Banyak Versi PHP (5.6, 7.x) dengan Nginx di Ubuntu 18.04 LTS

Cara Jalankan Banyak Versi PHP (5.6, 7.x) dengan Nginx di Ubuntu 18.04 LTS

Artikel sebelumnya telah dibahas tentang cara jalankan banyak versi PHP dengan Apache di Ubuntu 18.04 LTS, kali ini masih kasus yang sama tetapi menggunakan Nginx web server.

1. Install Nginx

Install Nginx dan cek status service-nya apakah berjalan atau tidak.

2. Install PHP Banyak Versi

Install PHP multi versi menggunakan repository dari PPA (Personal Package Archives), karena versi PHP yang tersedia di repository default Ubuntu 18.04 LTS yaitu PHP v7.2.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS
Cek versi Ubuntu dan paket php dari repository default

Mencari nama paket modul atau extension PHP gunakan perintah apt search atau apt-cache search.

Misalnya mencari modul untuk php7.2.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS
Daftar modul PHP

Menguji hasil install PHP dengan menampilkan versi PHP.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS
Cek hasil install setiap versi PHP

Setting versi default PHP untuk php-cli, misalnya ingin memakai versi PHP 7.2 sebagai versi default.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS
Setting versi PHP untuk command php

3. Setting Server Block

Selanjutnya membuat server block (di Apache disebut sebagai virtualhost) untuk masing-masing versi PHP.

  • PHP v5.6 = php56.aplikasi.oke
  • PHP v7.0 = php70.aplikasi.oke
  • PHP v7.1 = php71.aplikasi.oke
  • PHP v7.2 = php72.aplikasi.oke
  • PHP v7.3 = php73.aplikasi.oke

Membuat direktori root dan file index.php untuk masing-masing virtualhost versi PHP.

Membuat file server block php56.aplikasi.oke.conf untuk PHP v5.6.

Isi dari file server block php56.aplikasi.oke.conf.

Pada file server block di atas, opsi fastcgi_pass yang menentukan file .php dieksekusi dengan PHP versi berapa.

Lanjutkan dengan membuat file server block untuk versi PHP yang lain, sesuaikan opsi server_name, root, fastcgi_pass, dan file access_log serta error_log.

Terakhir aktifkan setting server block dan restart nginx.

4. Pengujian

Browsing masing-masing subdomain, tiap subdomain harus menampilkan versi PHP yang berbeda.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS
Browsing setiap versi PHP

5. Beda Versi PHP di Direktori Tertentu

Server block di atas berlaku untuk subdomain, sehingga file yang berada dalam direktori dan sub-direktori subdomain tersebut menjalankan versi PHP yang sama. Muncul pertanyaan bagaimana caranya jika masih dalam satu domain atau subdomain ingin menjalankan PHP dengan versi berbeda di direktori tertentu? Jawabannya dengan cara menambah opsi location /sub-direktori di setting server block.

Misalnya root /var/www/aplikasi.oke dengan url akses http://aplikasi.oke dan sub-direktori lain menjalankan PHP v5.6, sementara khusus untuk sub-direktori /var/www/aplikasi.oke/v2 dengan url akses https://aplikasi.oke/v2 menjalankan PHP v7.2.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS
Browsing PHP beda versi di direktori tertentu

Selamat mencoba 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *