Menjalankan multi versi PHP di Ubuntu dengan Apache Web Server


Melalui tutorial ini, saya ingin mencoba membuat tutorial bagaimana menjalankan multi PHP di dengan web server Apache dalam Ubuntu Server. Secara default, di dalam Ubuntu Server cuma bisa menjalankan satu versi PHP, tetapi melalui web server apache, kita bisa menjalankan multi PHP engine di dalamnya. Di lingkungan pengembangan kali ini, saya menggunakan PHP5.6 dan PHP7.2 yang dijalankan di atas Ubuntu Server 18.04 dengan web server Apache versi 2.

Pertama, saya harus mempunyai web server Apache yang sudah terinstall terlebih dahulu, kemudian saya akan mencoba menambahkan repository PHP dari repo ondrejj dengan menjalankan perintah:

sudo add-apt-repository ppa:ondrej/php
kemudian, saya akan update repository dengan perintah

sudo apt-get update
kenapa saya menambahkan repository baru ke dalam Ubuntu Server untuk instalasi PHP dan tidak menggunakan repository bawaan Ubuntu Server 18.04 ? Itu karena repository Ubuntu 18.04 secara default tidak menyediakan PHP versi 5.6.



Sebelum saya install PHP kedua versi tersebut, saya harus install library untuk web server apache dengan menjalankan perintah:

sudo apt-get install libapache2-mod-fastcgi software-properties-common
setelah itu, saya akan coba install PHP versi 5.6 dan 7.2 bersamaan, dengan perintah:

sudo apt-get install php5.6 php5.6-fpm php7.2 php 7.2-fpm
ikuti proses instalasi kemudian silakan cek di dalam folder /var/run/php/ , jika berhasil terinstall maka di dalamnya akan terdapat file:
  • php5.6-fpm.sock
  • php7.2-fpm.sock
  • php5.6-fpm.pid
  • php7.2-fpm.pid
setelah itu juga cek apakah Ubuntu Server anda sudah menjalankan PHP, dengan perintah:

php -v
pesan yang keluar di sistem operasi ubuntu Server milik saya adalah di dalamnya sudah berjalan secara default PHP versi 7.2. Lalu bagaimana dengan PHP 5.6 yang saya barusan install, tenang, PHP 5.6 dan PHP 7.2 akan tetap berjalan di atas web server Apache.

Karena berjalan di atas web server apache, maka saya akan bedakan melalui folder antara satu dengan yang lain. Pertama saya buat folder dengan nama 5.6 dan folder dengan nama 7.2. Kedua folder bernama 5.6 dan 7.2 itu saya letakkan di dalam direktori /var/ww/html. 

Rencananya folder 5.6 akan menjalankan seluruh skrip PHP dengan versi PHP5.6, dan folder 7.2 akan menjalankan PHP versi 7.2. Untuk membuat folder tersebut, saya cukup menjalankan perintah:

sudo mkdir /var/www/html/5.6 && mkdir /var/www/html/7.2
setelah itu, saya buat file .htaccess di dalam folder 5.6 dengan menjalankan perintah:

sudo vim /var/www/html/5.6/.htaccess
lalu isi dengan skrip di bawah ini:

<FilesMatch \.php$>
    # Apache 2.4.10+ can proxy to unix socket
    SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
</FilesMatch>
jangan lupa buat juga file .htaccess di dalam folder 7.2 :

sudo vim /var/www/html/7.2/.htaccess
lalu isi dengan skrip di bawah ini:

<FilesMatch \.php$>
    # Apache 2.4.10+ can proxy to unix socket
    SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
setelah itu, untuk mencoba apakah benar web server Apache menjalankan 2 versi PHP, maka saya akan buat file info.php dengan isi:

<?php phpinfo(); ?>
lalu taruh di dalam folder 5.6 dan 7.2, lalu saya coba cek, dan berikut ini hasilnya:






yang satu menjalankan PHP versi 5.6 dan yan satunya menjalankan versi 7.2, selamat mencoba.




Comments