PHP 5.4 से 5.3 में डाउनग्रेड कैसे करें


18

हाल ही में मैंने PHP को 5.4 में अपग्रेड किया है, लेकिन यह मुझ पर विफल हो रहा है क्योंकि APC इसके साथ काम नहीं कर रहा है, हालांकि इसने मुझे कोई विकल्प नहीं दिया, लेकिन 5.3 को डाउनग्रेड करने के लिए, मैं यह कैसे कर सकता हूं?

मैंने निष्पादित किया apt-get remove php5और apt-get purge php5फिर मैंने 5.4 रेपो को apt-get से हटा दिया, फिर निष्पादित किया गया apt-get install php5, यह कहता है कि यह 5.3 स्थापित कर रहा था, और मैंने फिर से शुरू किया php-fastcgiऔर php5-fpmजब मैं php -vइसे चलाता हूं तो 5.4 कहता है।

मैं 5.4 से 5.3 तक कैसे डाउनग्रेड कर सकता हूं?

मेरा सर्वर Ubuntu 11.04 चल रहा है।

जवाबों:


11

डाउनग्रेड PHP 5.4 से 5.3

उबंटू डाउनग्रेडिंग प्रक्रिया में वास्तव में गड़बड़ है। यहां वह स्क्रिप्ट है जिसे आप इसे उपयोगी पा सकते हैं ( यह PHP 5.4 को हटाता है और PHP 5.3 स्थापित करता है ):

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4

जहां उपलब्ध संस्करण आप कमांड द्वारा जांच सकते हैं: apt-cache showpkg php5

स्थापना के बाद, इसे कमांड द्वारा सत्यापित करें: php --version

कृपया सावधान रहें और पैकेज संस्करण के बिना किसी अन्य पैकेज को स्थापित न करें (जैसे php5-xcache), अन्यथा apt-get आपके PHP उदाहरण को फिर से 5.4 से बदल देगा!

ऐसा होने से रोकने के लिए, आप इन पैकेजों को पकड़ सकते हैं।

Dpkg का उपयोग करके संकुल को पकड़ना

Dpkg द्वारा पैकेज रखने के लिए, आप निम्न कमांड निष्पादित कर सकते हैं:

echo "php5 hold" | sudo dpkg --set-selections

सभी PHP संकुल को रखने के लिए, निम्नलिखित कमांड चलाएँ:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

निम्न आदेश आपको अपने php संकुल की स्थिति दिखाएगा:

sudo dpkg --get-selections | grep ^php

अभिरुचि का उपयोग करते हुए संकुल को धारण करना

आप उदाहरण के लिए संकुल को भी पकड़ सकते हैं जैसे:

sudo aptitude hold php5

अनहोल्ड:

sudo aptitude unhold php5

3
Ubuntu 13.x 5.3.10-1ubuntu3.4 में अब मौजूद नहीं है।
kenorb

आपके उत्तर में क्या है, इसके बारे में कैसे जानें?
टोलगैप

आप PHP 5.4 पर वापस जाने या कॉन्फ़िगर फ़ाइलों को पुनर्प्राप्त करने का मतलब है? कॉन्फ़िगरेशन फ़ाइलों को रखा जाना चाहिए क्योंकि वे (कोई व्यक्तिगत कॉन्फ़िगरेशन नहीं हटाया जाना चाहिए)। यदि आप PHP 5.4 पर वापस जाना चाहते हैं, तो उन पैकेजों को रद्द करने के लिए पूर्ववत करें, जिन्हें आप पुनः इंस्टॉल करते हैं और php5 को फिर से sudo apt-get install php5इंस्टॉल करते हैं।
kenorb

4

पहले अमल करो apt-cache showpkg php5। वहां आपको संस्करण और पैकेज php5 के बारे में अन्य जानकारी दिखाई देगी।

एक विशिष्ट संस्करण चलाने के लिए apt-get install <package name>=<version>

मेरे Ubuntu 11.10 में यह होगा apt-get install php5=5.3.6-13ubuntu3.6


6
अगर apt-cache showpkg php55.3.x अब और नहीं दिखा तो क्या होगा ?
kenorb

2

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था।

मैंने रिपॉजिटरी को हटा दिया।

आपको यह याद रखना होगा कि पैकेज php -vमें निष्पादन योग्य रन है php-cliइसलिए आपको इसे भी निकालना होगा।

इसलिए मैंने 5.3.10 पर वापस आने के लिए निम्न कार्य किया:

sudo apt-get remove php5-cli php5 php5-common
sudo apt-get install php5 php5-mysql php5-curl

अब यह वांछित संस्करण दिखाना चाहिए:

php -v

यह मेरे लिए नवीनतम 5.6 स्थापित करता है।
जॉनी क्यू


1

आपके द्वारा वर्णित चरणों से, आप php5.4 को शुद्ध करने और php5.4 रेपो को हटाने के बाद apt-get अपडेट को भूल गए।

यदि आप चलाते हैं तो आपको लगता है कि आपके पास अब रेपो नहीं है:

apt-get remove --purge php5 && apt-get update && apt-get install php5

आपको 5.3 पर वापस जाना चाहिए


Ubuntu 13.x में, डिफ़ॉल्ट php5 द्वारा
5.4.x
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.