jadikan versi perangkat lunak tertentu sebagai default di ubuntu


11

Saat ini saya memiliki 2 versi php diinstal di ubuntu 12.04.

satu untuk php 5.3 diinstal menggunakan apt-get sedangkan yang lainnya diinstal dengan xampp dengan php 5.5

Ketika saya menjalankan perintah ini:

> which php
/usr/bin/php

> php --version
PHP 5.3.10-1ubuntu3.8 with Suhosin-Patch (cli) (built: Sep  4 2013 20:05:42) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethan

>echo $PATH
/home/chanhxc/bin
/usr/lib/lightdm/lightdm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/opt/lampp/bin
/home/chanhxc/pear/bin
/home/chanhxc/.composer/vendor/bin
/opt/lampp/bin
/home/chanhxc/bin
/usr/lib/lightdm/lightdm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/home/chanhxc/bin
/usr/lib/lightdm/lightdm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/opt/lampp/bin
/home/chanhxc/pear/bin
/home/chanhxc/.composer/vendor/bin
/opt/lampp/bin

Bagaimana saya membuat php 5.5 versi default untuk dijalankan?

Btw, shell default saya adalah zsh. inilah baris di .zshrc saya

export   PATH=$PATH:/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    # xampp, pear, composer
export PATH=$PATH:/opt/lampp/bin:/home/chanhxc/pear/bin:/home/chanhxc/.composer/vendor/bin:/opt/lampp/bin

Memperbarui

Jika saya memilih opsi pembaruan-alternatif . Inilah yang saya miliki saat ini.

>update-alternatives --query php
Link: php
Status: auto
Best: /usr/bin/php5
Value: /usr/bin/php5

Alternative: /usr/bin/php5
Priority: 50
Slaves:
 php.1.gz /usr/share/man/man1/php5.1.gz

Jawaban:


18

Saya pikir cara terbaik untuk melakukan ini di Ubuntu adalah seperti itu:

sudo update-alternative --set php /usr/bin/php5.6

Anda dapat mengubah versi sesuai dengan kebutuhan Anda.


Saya setuju bahwa ini adalah cara terbaik untuk melakukan ini. Ini memperbarui tautan di / usr / bin / php ke versi yang benar. Di Ubuntu 16 Anda dapat menginstal php5.6 dan php7.0 dan membuatnya berjalan pada saat yang sama - yang bagus, tetapi kadang-kadang Anda ingin memperbarui default.
Dave Drager

10

Ada sejuta hal yang dapat Anda lakukan daripada mengubah $ PATH Anda.

Pertama adalah mendefinisikan alias di file /home/YOUR_NAME/.bashrc Anda,

alias myphp=' /path/to/my/favorite/php ' 

Yang lain adalah mengubah nama versi php yang tidak Anda inginkan, dan untuk mengubah / usr / bin / php di tautan simbolis ke versi yang ingin Anda gunakan:

sudo mv /usr/bin/php /usr/bin/php_5.3.10
sudo ln -s /path/to/php/you/want /usr/bin/php

Atau Anda dapat menggunakan sistem alternatif Debian. Pertama, Anda menginstal alternatif php,

 sudo update-alternatives --install "/usr/bin/php" "php" "/pathto/your/favorite/php" 1 

maka Anda mengontrol bahwa semuanya baik-baik saja dengan cara

sudo update-alternatives --display php

Dan masih banyak lagi.


Terima kasih untuk sarannya. tapi apa cara terbaik di sana. saya sebenarnya memiliki alias sebagai phplatest dengan versi php 5.5. soft linking php di / usr / bin / php membuat versi lain di xampp menjadi default?
chanHXC

btw, apa sebenarnya yang dilakukan perintah pembaruan-alternatif?
chanHXC

Tetap awasi program mana, semuanya menyediakan layanan yang sama, yang Anda sukai untuk digunakan. Seperti memiliki Chrome, Chromium, Firefox, Iceweasel di PC yang sama, yang mana yang harus dibuka ketika Anda mengklik alink di email? Satu pembaruan-alternatif telah ditunjukkan sebagai master.
MariusMatutiae

Ok terima kasih. tetapi mengapa saya mendapatkan argumen `php 'yang tidak dikenal. ketika menjalankan pembaruan-alternatif
chanHXC

@chanHXC Itu karena saya membuat kesalahan dalam sintaksis. Saya telah memperbarui posting saya, sekarang seharusnya sudah berfungsi. Ingatlah untuk memindahkan php yang ada ke / usr / bin / php_old
MariusMatutiae

3
sudo update-alternatives --config php

Ini mungkin lebih ramah pengguna karena memungkinkan pengguna untuk memilih secara interaktif dari alternatif yang tersedia untuk dipilih.
Rolando Isidoro
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.