ทำให้ซอฟต์แวร์รุ่นหนึ่งเป็นค่าเริ่มต้นใน Ubuntu


11

ปัจจุบันฉันมี php 2 รุ่นติดตั้งบน 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 เป็นรุ่นเริ่มต้นให้ทำงานได้อย่างไร

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

ฉันคิดว่าวิธีที่ดีที่สุดในการทำเช่นนี้บน Ubuntu คือ:

sudo ปรับปรุงทางเลือก - ชุด php /usr/bin/php5.6

คุณสามารถเปลี่ยนเวอร์ชั่นได้ตามความต้องการของคุณ


ฉันยอมรับว่านี่เป็นวิธีที่ดีที่สุดในการทำเช่นนี้ มันอัพเดตลิงค์ใน / usr / bin / php เป็นเวอร์ชันที่ถูกต้อง ใน Ubuntu 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

และอื่น ๆ อีกมาก


ขอบคุณสำหรับคำแนะนำ แต่วิธีที่ดีที่สุดคืออะไร ฉันมีนามแฝงว่าเป็น phplatest กับ php เวอร์ชั่น 5.5 soft link php ใน / usr / bin / php ทำให้เวอร์ชันอื่นใน xampp เป็นค่าเริ่มต้นหรือไม่
chanHXC

btw คำสั่งปรับปรุงทางเลือกทำอะไรกันแน่?
chanHXC

เก็บแท็บของโปรแกรมที่ให้บริการเดียวกันทั้งหมดที่คุณต้องการใช้ เช่นเดียวกับการมี Chrome, Chromium, Firefox, Iceweasel บนพีซีเครื่องเดียวกันซึ่งควรเปิดเมื่อคุณคลิกที่ลิงก์ในอีเมล ทางเลือกหนึ่งทางเลือกสำหรับอัพเดตได้ระบุว่าเป็นข้อมูลหลัก
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.