PHP 5.2 पर रोलबैक कैसे करें?


13

मैंने अपने विकास सर्वर पर सिर्फ 10.04 एलटीएस स्थापित किया है, लेकिन जिस सिस्टम पर मुझे चलने की आवश्यकता है (मैगेंटो ईकॉमर्स) PHP 5.3 के साथ संगत नहीं है जो उबंटू के नवीनतम संस्करण के साथ जहाज करता है। क्या PHP 5.2 स्थापित होने का एक सुरक्षित और उन्नयन-प्रूफ तरीका है या उबंटू के पुराने संस्करण का उपयोग करना आसान होगा?

जवाबों:


9

आप मेरे ppa का उपयोग कर सकते हैं , जो मैंने इस उद्देश्य के लिए बनाया है। कृपया उस पिनिंग पर ध्यान दें जो आवश्यक है। इसके अलावा, योग्यता पिनिंग को मान्यता नहीं देगी। यदि आप इसका उपयोग करना चाहते हैं तो आपको एप्टीट्यूड विशिष्ट विधि का उपयोग करना चाहिए।

नोट - यह केवल 10.04 (ल्यूसिड) के लिए है


1
आपका PPA कहाँ है ?
नाथन उस्मान

क्षमा करें .. मैं इतनी जल्दी नहीं हूं: D launchpad.net/~txwikinger/+archive/php5.2
txwikinger

क्या आप यह भी बता सकते हैं कि मुझे इस पीपा के साथ क्या करना चाहिए?
सिल्वो

@ सिल्वो: आपको अपने पैकेज सूचियों का उपयोग कर या तो अपने पैकेज मैनेजर से या कमांडलाइन पर ऐड-ऑप-रिपॉजिटरी का उपयोग करके ppa को जोड़ना होगा। Ppa के लिए विवरण ppa की वेबसाइट पर हैं।
txwikinger

यह बहुत सही जवाब है, धन्यवाद। उन अनिश्चितों के लिए, अपने स्रोतों sudo add-apt-repository ppa:txwikinger/php5.2से ppa जोड़ने के लिए कमांड लाइन से करें। पोस्ट में ppa लिंक का पालन करना सुनिश्चित करें और txwikinger की पिनिंग समाधान लागू करें। सुनिश्चित करें कि आप sudo apt-get updateकोशिश करते हैं और संकुल को स्थापित करने से पहले चलाते हैं!
adamnfish

2

कर्म पैकेजों का उपयोग करना और उन्हें योग्यता के साथ पिन करना संभव है। यह इस आदेश का उपयोग करके किया जा सकता है:

# remove all php packge
sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
# use karmiс for php pakage
# pin-params:  a (archive), c (components), v (version), o (origin) and l (label).
echo -e "Package: php5\nPin: release a=karmic\nPin-Priority: 991\n"  | sudo tee   /etc/apt/preferences.d/php > /dev/null
apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release   a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null
apt-cache search -n libapache2-mod-php5 |awk '{print "Package:", $1,"\nPin: release a=karmic\nPin-Priority: 991\n"}'| sudo tee -a /etc/apt/preferences.d/php > /dev/null
echo -e "Package: php-pear\nPin: release a=karmic\nPin-Priority: 991\n"  | sudo tee -a     /etc/apt/preferences.d/php > /dev/null
# add karmic to source list
grep 'main restricted' /etc/apt/sources.list|grep -v "#"| sed s/lucid/karmic/g | sudo tee             /etc/apt/sources.list.d/karmic.list > /dev/null
# update package database (use apt-get if aptitude crash)
sudo apt-get update
# install php
sudo aptitude install -t karmic php5-cli php5-cgi
# or (and) sudo apt-get install -t karmic  libapache2-mod-php5
sudo aptitude hold `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`
#done

लिंक पाठ से यह मिल गया



2

मैंने हाल ही में उसी समस्या को हल करने की कोशिश की है। इसके बजाय अपने आप पैकेज प्रबंधन मैं संकलित स्रोत कोड से पीएचपी 5.2.17 में परिवर्तन करने और उसके बाद प्रोग्राम का उपयोग किया की Checkinstall मेरे सिस्टम पर नई .deb पैकेज स्थापित करने के लिए।

मैंने एक ब्लॉग पोस्ट में स्टेप्स लिखे हैं, Ubuntu 10.10 के लिए PHP 5.2 का संकलन किया है , लेकिन मूल रूप से इसमें निम्नलिखित चरण शामिल हैं:

  1. PHP स्रोत (http://php.net/downloads.php) को / usr / स्थानीय / src पर डाउनलोड करें
  2. स्रोत कॉन्फ़िगर करें, INSTALL doc और आउटपुट को ./configure --help से पढ़ना

मेरी कॉन्फ़िगर कमांड इस तरह दिखती है:

./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-gd
  1. 'मेक' का उपयोग करके स्रोत संकलित करें
  2. संकलित पैकेज को 'जाँच' का उपयोग कर स्थापित करें

और वह यह था। मैंने पहले से ही Synacheic का उपयोग करके Apache2 स्थापित किया था (आपको PHP के उपयोग के लिए Apache2-mpm-prefork पैकेज का उपयोग करने की आवश्यकता है)। यदि आपके पास पहले से स्थापित कोई भी PHP5 pacakges था, तो भी आपको अपने स्वयं के संकलित पैकेज को स्थापित करने की कोशिश करने से पहले उन्हें अनइंस्टॉल करना होगा।

पैकेज का संकलन स्वयं वास्तव में बहुत समय नहीं लेता है और यह एक अच्छा अनुभव है यदि आपने इसे अपने उबंटू मशीन पर पहले से नहीं किया है।

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