सवाल उबंटू में एक निश्चित सॉफ़्टवेयर संस्करण डिफ़ॉल्ट बनाएं


वर्तमान में मेरे पास उबंटू 12.04 पर स्थापित php का 2 संस्करण है।

एफपी 5.3 के लिए एक apt-get का उपयोग कर स्थापित किया गया जबकि दूसरा एक 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 को डिफ़ॉल्ट संस्करण चलाने के लिए कैसे बना सकता हूं?

बीटीडब्ल्यू, मेरा डिफ़ॉल्ट खोल 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

10
2017-11-04 11:59


मूल




जवाब:


मुझे लगता है कि उबंटू पर ऐसा करने का सबसे अच्छा तरीका इस तरह है:

sudo अद्यतन-विकल्प --सेट php /usr/bin/php5.6

आप अपनी आवश्यकताओं के अनुसार संस्करण बदल सकते हैं।


17
2017-07-14 18:03



मैं मानता हूं कि ऐसा करने का यह सबसे अच्छा तरीका है। यह सही संस्करण में / usr / bin / php में लिंक अपडेट करता है। उबंटू 16 में आप php5.6 और php7.0 इंस्टॉल कर सकते हैं और उन्हें एक ही समय में चल रहे हैं - जो अच्छा है, लेकिन कभी-कभी आप डिफ़ॉल्ट को अपडेट करना चाहते हैं। - Dave Drager


आपके $ पाथ को बदलने के बजाय आप दस लाख चीजें कर सकते हैं।

एक आपके /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

और बहुत कुछ।


11
2017-11-04 12:39



सलाह के लिये धन्यवाद। लेकिन वहां सबसे अच्छा तरीका क्या है। मैं वास्तव में php 5.5 संस्करण के साथ phplatest के रूप में एक उपनाम है। / usr / bin / php में नरम लिंकिंग php को xampp में अन्य संस्करण डिफ़ॉल्ट हो जाएगा? - chanHXC
बीटीडब्ल्यू, अद्यतन-विकल्प कमांड क्या करता है? - chanHXC
कौन से कार्यक्रमों का टैब रखता है, सभी एक ही सेवा प्रदान करते हैं, आप इसका उपयोग करना पसंद करते हैं। एक ही पीसी पर क्रोम, क्रोमियम, फ़ायरफ़ॉक्स, आइसवेसेल होने की तरह, जब आप किसी ई-मेल में लिंक पर क्लिक करते हैं तो कौन सा खुलना चाहिए? एक अद्यतन-विकल्प मास्टर के रूप में इंगित किया गया है। - MariusMatutiae
ठीक है धन्यवाद। लेकिन मुझे अज्ञात तर्क 'php' क्यों मिलता है। अद्यतन-विकल्प निष्पादित करते समय - chanHXC
@chanHXC ऐसा इसलिए है क्योंकि मैंने वाक्यविन्यास में एक त्रुटि की है। मैंने अपनी पोस्ट अपडेट की है, अब इसे काम करना चाहिए। मौजूदा php को / usr / bin / php_old में ले जाना याद रखें - MariusMatutiae


sudo update-alternatives --config php

3
2018-06-22 08:37



यह अधिक उपयोगकर्ता के अनुकूल हो सकता है क्योंकि यह उपयोगकर्ता को चुनिंदा विकल्प चुनने के लिए चुनिंदा विकल्प चुनने की अनुमति देता है। - Rolando Isidoro