将某个软件版本设为ubuntu中的默认版本


11

我目前在Ubuntu 12.04上安装了2个版本的php。

一个用于使用apt-get安装的php 5.3,另一个用于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选项。这是我目前拥有的。

>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

Answers:


18

我认为在Ubuntu上执行此操作的最佳方法是这样的:

sudo update-alternatives --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版本。将/ usr / bin / php中的php软链接设置为xampp中的其他版本为默认版本?
chanHXC 2013年

顺便说一句,update-alternative命令究竟是做什么的?
chanHXC 2013年

保留您偏爱使用哪些程序,全部提供相同服务的选项卡。就像在同一台PC上安装Chrome,Chromium,Firefox,Iceweasel一样,当您单击电子邮件中的链接时应该打开哪一个?一个更新替代方案已指示为主节点。
MariusMatutiae 2013年

好,谢谢。但是为什么我得到未知的参数'php'。当执行更新替代方案时
chanHXC

@chanHXC那是因为我在语法上犯了一个错误。我已经更新了我的帖子,现在应该可以了。记住将现有的php移动到/ usr / bin / php_old
MariusMatutiae

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.