우분투에서 특정 소프트웨어 버전을 기본값으로 설정하십시오.


11

현재 우분투 12.04에 2 가지 버전의 PHP가 설치되어 있습니다.

하나는 apt-get을 사용하여 설치된 PHP 5.3 용이고 다른 하나는 PHP 5.5의 xampp와 함께 설치되었습니다.

이 명령을 실행할 때 :

> 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를 기본 버전으로 실행하려면 어떻게해야합니까?

Btw, 내 기본 쉘은 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

우분투 에서이 작업을 수행하는 가장 좋은 방법은 다음과 같습니다.

sudo 업데이트 대안 --set PHP /usr/bin/php5.6

필요에 따라 버전을 변경할 수 있습니다.


이것이 최선의 방법이라는 데 동의합니다. / usr / bin / php의 링크를 올바른 버전으로 업데이트합니다. 우분투 16에서는 php5.6과 php7.0을 설치하고 동시에 실행할 수 있습니다. 좋지만 때로는 기본값을 업데이트하려고합니다.
Dave Drager

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

또는 데비안 대체 시스템을 사용해도됩니다. 먼저, PHP 대안을 설치하십시오.

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

그런 다음 모든 방법으로

sudo update-alternatives --display php

그리고 훨씬 더.


제안 해 주셔서 감사합니다. 그러나 가장 좋은 방법은 무엇입니까? 나는 실제로 PHP 5.5 버전의 phplatest와 같은 별칭을 가지고 있습니다. / usr / bin / php에서 php를 소프트 링크하면 xampp의 다른 버전이 기본값이됩니까?
chanHXC

btw, 업데이트 대체 명령은 정확히 무엇을합니까?
chanHXC

모두 동일한 서비스를 제공하는 프로그램 중 원하는 탭을 유지합니다. 같은 PC에서 Chrome, Chromium, Firefox, Iceweasel을 사용하는 것처럼 이메일에서 링크를 클릭하면 어떤 PC를 열어야합니까? 하나의 업데이트 대안이 마스터로 표시되었습니다.
MariusMatutiae

알았어 고마워. 그러나 왜 알 수없는 인수`php '를 얻습니까? 업데이트 대안을 실행할 때
chanHXC

@chanHXC 구문에 오류가 있기 때문입니다. 내 게시물을 업데이트했는데 이제 작동합니다. 기존 php를 / usr / bin / php_old로 옮기십시오
MariusMatutiae

3
sudo update-alternatives --config php

사용자가 선택할 수있는 대안 중 하나를 대화식으로 선택할 수 있으므로보다 사용자 친화적 일 수 있습니다.
Rolando Isidoro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.