Nafies Luthfi

Life will always feel wonderful if we always think positively.

Cara Pindah-Pindah Versi PHP pada LAMP stack di Ubuntu

Bismillahirrahmaanirrahiim.

Latar Belakang

Untuk kebutuhan web development dengan PHP dan Laravel, di laptop saya menggunakan LAMP Stack, dan saya install beberapa versi PHP, mulai versi 7.0 s/d 8.0, karena saya masih maintain project untuk klien dari Laravel versi 5.2 s/d Laravel versi baru untuk kebutuhan project baru dan project riset. Dari situ saya butuh pindah-pindah versi PHP sesuai project yang sedang dihandle.

Script PHP Swither

Cari-cari di github, saya ketemu repository ini:

https://github.com/rapidwebltd/php-switch-scripts

Pada project tersebut tersedia :

  1. File setup.sh untuk install beberapa versi PHP sekaligus dari ppa:ondrej/php

  2. File switch-to-php-x.x.sh untuk pindah ke versi x.x.

Dan karena saya butuh beberapa modifikasi script untuk install extension PHP-nya, saya fork repository tersebut dan modifikasi sesuai kebutuhan:

https://github.com/nafiesl/apache-php-switcher

Cara Menggunakan Script

Sebelum Mulai

Pastikan di localhost kita sudah terinstall LAMP stack atau minimal apache2.

Sekarang kita clone project di atas, bebas saja mau pilih antara kedua repositori di atas. Misal mau pakai yang punya saya:

# Clone projectnya ke localhost
$ cd ~/projects/scripts
$ git clone https://github.com/nafiesl/apache-php-switcher.git

# Masuk direktorinya
$ cd apache-php-switcher

# (optional) Install semua versi PHP yang tersedia
$ ./setup.sh

# Gunakan script switch untuk pindah-pindah versi PHP
$ ./switch-to-php-7.2.sh
$ ./switch-to-php-7.3.sh
$ ./switch-to-php-7.0.sh

# Cek versi PHP aktif
$ php -v
PHP 7.0.33-40+ubuntu20.04.1+deb.sury.org+1 ......

Ok sampai di sini mestinya kita sudah bisa pindah-pindah versi PHP dengan cara:

$ cd ~/projects/scripts/apache-php-switcher
$ ./switch-to-php-7.3.sh
$ ./switch-to-php-7.2.sh

Permudah dengan Bash Alias

Kalau cara di atas terkesan repot (harus cd ke direktori lalu jalankan script), kita bisa permudah lagi dengan bash alias. Caranya seperti berikut:

$ vim ~/.bash_aliases # Bisa juga pakai nano

# Masukkan tambahkan script ini
alias setphp56='~/projects/scripts/apache-php-switcher/switch-to-php-5.6.sh'
alias setphp70='~/projects/scripts/apache-php-switcher/switch-to-php-7.0.sh'
alias setphp72='~/projects/scripts/apache-php-switcher/switch-to-php-7.2.sh'
alias setphp73='~/projects/scripts/apache-php-switcher/switch-to-php-7.3.sh'
alias setphp74='~/projects/scripts/apache-php-switcher/switch-to-php-7.4.sh'
alias setphp80='~/projects/scripts/apache-php-switcher/switch-to-php-8.0.sh'
# Simpan dan keluar

# Terapkan alias terbaru
$ source ~/.bash_aliases

# Pindah-pindah versi PHP
$ setphp73
$ setphp74
$ setphp72

Sip, dari sini satu urusan hidup kita terasa lebih mudah. Mudah-mudahan bermanfaat. Terima kasih teman-teman.