​Multi Versi PHP dengan nginx di Centos 7

-

PHP adalah bahasa scripting sisi server yang dirancang untuk pengembangan web dan juga digunakan sebagai bahasa pemrograman umum. Aplikasi yang berbeda kemungkinan membutuhkan versi PHP yang berbeda juga, jadi dalam tutorial ini, kita akan menginstal beberapa versi PHP di 1 server pada OS CentOS 7.

1. Instal Epel dan Remi Repository

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm




2. Instal utils

# yum install yum-utils



3. Instal nginx

Untuk langkah ini tidak perlu dilakukan apabila di instance sudah terdapat service nginx sebelumnya, berikut sebagai contoh:

Menambahkan official repository nginx

# vi /etc/yum.repos.d/nginx.repo

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1


# yum install nginx



4. Instal MariaDB

Untuk langkah ini tidak perlu dilakukan apabila di instance sudah terdapat service mariadb sebelumnya, berikut sebagai contoh:

Menambahkan official repository mariadb

# vi /etc/yum.repos.d/mariadb.repo



# yum install MariaDB-client MariaDB-server


5. Instal Multiple PHP [PHP 7.1 & PHP 5.6]

Instal PHP 7.1

# yum-config-manager --enable remi-php71  [Default]


# yum install php php-common php-fpm


# yum install php-mysql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo



Instal PHP 5.6

# yum install php56 php56-php-common php56-php-fpm


# yum install php56-php-mysql php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo



6. Konfigurasi PHP-FPM and PHP56-PHP-FPM

PHP 7.1

# vi /etc/php-fpm.d/www.conf


Edit bagian user dan group dengan “nginx”

PHP 5.6

# vi /opt/remi/php56/root/etc/php-fpm.d/www.conf


Agar bisa jalan berbarengan, tiap versi PHP diberikan akses port yang berbeda, dalam hal ini sebagai contoh PHP 5.6 diberikan akses port 9001


Kemudian pastikan seluruh service sudah running.


7. Setup nginx

Untuk langkah ini dapat disesuaikan dengan kondisi website yang ingin dibangun, berikut sebagai contoh konfigurasinya:

PHP 7.1

# vi /etc/nginx/conf.d/coba1.com.conf


PHP 5.6

# vi /etc/nginx/conf.d/coba2.com.conf



8. Testing Multiple PHP

Membuat script info.php

PHP 7.1

# echo "<?php phpinfo(); ?>" > /var/www/html/coba1.com/info.php

PHP 5.6

# echo "<?php phpinfo(); ?>" > /var/www/html/coba2.com/info.php

Kemudian test status nginx


Setup local DNS

Masuk ke /etc/hosts

Dan melengkapi localhost sebagai berikut :


Buka website melalui browser

PHP 7.1


PHP 5.6


Dengan konfigurasi yang sama, bisa juga ditambahkan PHP 7.0 dan 7.2 sebagai berikut.

PHP 7.0

PHP 7.2


Instal Multiple PHP version berhasil dijalankan berbarengan pada service nginx, saat ini Anda sudah dapat melakukan test website dengan versi PHP yang berbeda-beda.