Ubuntu'da belirli bir yazılım sürümünü varsayılan yapmak


11

Şu anda ubuntu 12.04 yüklü php 2 sürümü var.

biri php 5.3 için apt-get kullanılarak yüklenirken diğeri php 5.5 ile xampp ile yüklenir

Bu komutları çalıştırdığımda:

> 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

Nasıl php 5.5 çalıştırmak için varsayılan sürümü yapabilirim?

Btw, varsayılan kabuğum zsh. İşte benim .zshrc satır

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

Güncelleme

Güncelleme seçenekleri seçeneğini tercih ediyorsanız . İşte şu anda sahip olduğum şey.

>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

Yanıtlar:


18

Ben Ubuntu bunu yapmanın en iyi yolu böyle olduğunu düşünüyorum:

sudo güncelleme alternatifleri - php /usr/bin/php5.6

Sürümü ihtiyaçlarınıza göre değiştirebilirsiniz.


Bunu yapmanın en iyi yolu olduğuna katılıyorum. / Usr / bin / php içindeki bağlantıyı doğru sürüme günceller. Ubuntu 16'da php5.6 ve php7.0'ı yükleyebilir ve aynı anda çalıştırabilirsiniz - bu güzel, ancak bazen varsayılanı güncellemek istersiniz.
Dave Drager

10

$ PATH değerinizi değiştirmek yerine yapabileceğiniz bir milyon şey var.

Bunlardan biri /home/YOUR_NAME/.bashrc dosyanızda bir takma ad tanımlamaktır,

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

Bir diğeri, istemediğiniz php sürümünü yeniden adlandırmak ve sembolik bir bağlantıda / usr / bin / php'yi kullanmak istediğiniz sürüme dönüştürmektir:

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

Veya Debian alternatif sistemini kullanabilirsiniz. İlk olarak, bir php alternatifi kurarsınız,

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

o zaman her şeyin yolunda olduğunu kontrol edersin

sudo update-alternatives --display php

Ve çok daha fazlası.


Önerin için teşekkürler. ama orada en iyi yol ne? aslında php 5.5 sürümü ile phplatest olarak bir takma adı var. / usr / bin / php içindeki php'nin yumuşak bağlanması xampp'deki diğer sürümü varsayılan yapar mı?
chanHXC

btw, bir güncelleme-alternatif komutu tam olarak ne yapar?
chanHXC

Hangi programların tümünü aynı hizmeti sunan sekmesini tutar. Aynı bilgisayarda Chrome, Chromium, Firefox, Iceweasel olması gibi, bir e-postadaki alink'i tıkladığınızda hangisi açılmalıdır? Güncelleme seçeneklerinden biri ana olarak belirtildi.
MariusMatutiae

tamam teşekkürler. ama neden `` php '' bilinmeyen argümanını alıyorum. güncelleme alternatifleri yürütürken
chanHXC

@chanHXC Sözdiziminde bir hata yaptığım için. Yazımı güncelledim, şimdi çalışmalı. Mevcut php'yi / usr / bin / php_old'a taşımayı unutmayın
MariusMatutiae

3
sudo update-alternatives --config php

Kullanıcının mevcut alternatiflerden hangisini seçebileceğini etkileşimli olarak seçmesine izin verdiği için bu daha kullanıcı dostu olabilir.
Rolando Isidoro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.