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


11

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

php 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 को चलाने के लिए डिफ़ॉल्ट संस्करण कैसे बनाऊं?

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 पर ऐसा करने का सबसे अच्छा तरीका है:

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

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


मैं सहमत हूं कि यह ऐसा करने का सबसे अच्छा तरीका है। यह लिंक / usr / bin / php को सही वर्जन पर अपडेट करता है। Ubuntu 16 में आप php5.6 और php7.0 स्थापित कर सकते हैं और उन्हें एक ही समय में चला सकते हैं - जो अच्छा है, लेकिन कभी-कभी आप डिफ़ॉल्ट को अपडेट करना चाहते हैं।
डेव 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 के रूप में एक उपनाम है। सॉफ्ट लिंकिंग php in / usr / bin / php xampp में अन्य संस्करण को डिफ़ॉल्ट बनाता है?
13

btw, वास्तव में एक अपडेट-वैकल्पिक कमांड क्या करता है?
13

किस प्रोग्राम का टैब रखता है, सभी एक ही सेवा प्रदान करते हैं, आप उपयोग करना पसंद करते हैं। जैसे एक ही पीसी पर क्रोम, क्रोमियम, फ़ायरफ़ॉक्स, आइसविशेल होना, जिसे किसी ई-मेल में क्लिक करने पर खुल जाए? एक अद्यतन-विकल्प ने मास्टर के रूप में संकेत दिया है।
MariusMatutiae

ठीक है धन्यवाद। लेकिन मुझे अज्ञात तर्क 'php' क्यों मिलता है अद्यतन-विकल्प निष्पादित करते समय
CHHXC

@chanHXC ऐसा इसलिए है क्योंकि मैंने वाक्य रचना में त्रुटि की है। मैंने अपनी पोस्ट को अपडेट कर दिया है, यह अब काम करना चाहिए। मौजूदा php को / usr / bin / php_old पर ले जाना याद रखें
MariusMatutiae

3
sudo update-alternatives --config php

यह अधिक उपयोगकर्ता के अनुकूल हो सकता है क्योंकि यह उपयोगकर्ता को इंटरेक्टिव रूप से चयन करने के लिए उपलब्ध विकल्पों में से किसको चुनने की अनुमति देता है।
रोलैंडो इसिडोरो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.