Pada penggunakan linux sering menemukan banyak versi untuk aplikasi di install biasa lebih tinggi atau lebih lama. Penggunaan versi yang berbeda-beda tergantung kebutuhan dan faktor lain seperti hardware yang dimiliki, ataupun seperti saya seorang tukang ketik dengan php yang membutukan php5 padahal saat ini sudah muncul php7. Hal tersebut menjadi poliemik, dimana program lama yang dibangun dengan php5 akan sulit berjalan atau sama tidak berjalan jika kita menjalankan php7. Sebagai solusinya harus di install kedua versi php nya yaitu php5 dan php7 pada laptop saya.
Setelah saya install php5 dan php7 akan terjadi perbedaan ketika kita jalankan dengan terminal dibandingkan dengan yang dijalankan dengan phpinfo.php (dijalanakan dengan webrowser).
contoh A:
contoh B :
$ php -v
PHP 7.1.8-2+ubuntu14.04.1+deb.sury.org+4 (cli) (built: Aug 4 2017 14:30:23) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Kenapa bisa terjadi perbedaan serperti itu? Pada kasus A aplikasi dilankan pada terminal yang terletak file nya pada /etc/bin/ Sedangkan pada kasus B apliakasi yang dijalankan lewat apache sebagai web service.
Fungsi pada update-alternatives bisa dilihat dibawah ini dengan cara sudo update-alternatives –help
$ sudo update-alternatives --help
Usage: update-alternatives [<option> ...] <command>
Commands:
--install <link> <name> <path> <priority>
[--slave <link> <name> <path>] ...
add a group of alternatives to the system.
--remove <name> <path> remove <path> from the <name> group alternative.
--remove-all <name> remove <name> group from the alternatives system.
--auto <name> switch the master link <name> to automatic mode.
--display <name> display information about the <name> group.
--query <name> machine parseable version of --display <name>.
--list <name> display all targets of the <name> group.
--get-selections list master alternative names and their status.
--set-selections read alternative status from standard input.
--config <name> show alternatives for the <name> group and ask the
user to select which one to use.
--set <name> <path> set <path> as alternative for <name>.
--all call --config on all alternatives.
<link> is the symlink pointing to /etc/alternatives/<name>.
(e.g. /usr/bin/pager)
<name> is the master name for this link group.
(e.g. pager)
<path> is the location of one of the alternative target files.
(e.g. /usr/bin/less)
<priority> is an integer; options with higher numbers have higher priority in
automatic mode.
Options:
--altdir <directory> change the alternatives directory.
--admindir <directory> change the administrative directory.
--log <file> change the log file.
--force allow replacing files with alternative links.
--skip-auto skip prompt for alternatives correctly configured
in automatic mode (relevant for --config only)
--verbose verbose operation, more output.
--quiet quiet operation, minimal output.
--help show this help message.
--version show the version.
Untuk merubah versi php nya pada terminal dengan script sudo update-alternatives –config php seperti terlihat dibawah ini.
$ sudo update-alternatives --config php
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/php7.1 71 auto mode
1 /usr/bin/php5 50 manual mode
2 /usr/bin/php7.0 70 manual mode
* 3 /usr/bin/php7.1 71 manual mode
Press enter to keep the current choice[*], or type selection number:
Baiklah kita bahas, pada saat menjalakan sudo update-alternatives –config php kita akan ditampilkan versi php yang sudah terinstall pada linux kita. kebetulan versi yang saya unya ada … wow banyak juga ya heheheh..
Dan dapat terlihat dengan (*) merupakan aplikasi yang sedang berjalan. Dalam intruksi kita bisa memasukan angka untuk memilih jenis php yang akan digunakan jika menjalankan dengan terminal.Untuk kali ini saya ingin php5 agar sama dengan php yang jalan pada apache (web browser).
$ php -v
PHP 5.5.9-1ubuntu4.22 (cli) (built: Aug 4 2017 19:40:28)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
Sekarang versi php yang jalan dengan teminal akan sama dengan php yang jalan pada apache yang kita jalankan.
Bukan hanya untuk php, script ini di gunakan juga untuk aplikasi pada /etc/bin seperti java,ruby,gem dst.
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
* 2 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Press enter to keep the current choice[*], or type selection number: