сделать определенную версию программного обеспечения по умолчанию в Ubuntu


11

В настоящее время у меня есть 2 версии PHP установлены на Ubuntu 12.04.

один для php 5.3 установлен с помощью apt-get, а другой установлен с xampp с php 5.5

Когда я выполняю эти команды:

> 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

Как мне сделать php 5.5 версией по умолчанию для запуска?

Кстати, моя оболочка по умолчанию - zsh. вот строка в моем .zshrc

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

Обновить

Если я выбираю вариант обновления альтернатив . Вот что у меня сейчас есть.

>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

Ответы:


18

Я думаю, что лучший способ сделать это в Ubuntu такой:

альтернативы обновления sudo --set php /usr/bin/php5.6

Вы можете изменить версию в соответствии с вашими потребностями.


Я согласен, что это лучший способ сделать это. Обновляет ссылку в / usr / bin / php до правильной версии. В Ubuntu 16 вы можете установить php5.6 и php7.0 и запускать их одновременно - это хорошо, но иногда вы хотите обновить настройки по умолчанию.
— Дэйв Драгер

10

Есть миллион вещей, которые вы можете сделать вместо того, чтобы изменить свой $ PATH.

Одним из них является определение псевдонима в вашем файле /home/YOUR_NAME/.bashrc,

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

Другой способ - переименовать версию php, которая вам не нужна, и преобразовать / usr / bin / php в символическую ссылку на версию, которую вы хотите использовать:

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

Или вы можете использовать систему альтернатив Debian. Во-первых, вы устанавливаете альтернативу PHP,

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

затем вы контролируете, что все в порядке с помощью

sudo update-alternatives --display php

И многое, многое другое.


спасибо за предложение. но как лучше там. на самом деле у меня есть псевдоним phplatest с версией php 5.5. сделает ли мягкая ссылка php в / usr / bin / php другой версией в xampp по умолчанию?
— chanHXC

Кстати, что именно делает альтернативная команда обновления?
— chanHXC

Сохраняет вкладку, какие программы, все предоставляющие одинаковый сервис, вы предпочитаете использовать. Например, Chrome, Chromium, Firefox, Iceweasel на одном компьютере, который нужно открыть, когда вы нажмете на alink в электронной почте? Один вариант обновления указал как мастер.
— MariusMatutiae

хорошо спасибо. но почему я получаю неизвестный аргумент `php '. при выполнении обновлений альтернатив
— chanHXC

@chanHXC Это потому, что я сделал ошибку в синтаксисе. Я обновил свой пост, теперь он должен работать. Не забудьте переместить существующий php в / usr / bin / php_old
— MariusMatutiae

3
sudo update-alternatives --config php

Это может быть более удобным для пользователя, поскольку позволяет пользователю в интерактивном режиме выбирать, какую из доступных альтернатив выбрать.
— Роландо Исидоро
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.