मैं CentOS पर PHP 5.3 कैसे स्थापित करूं?


9

मुझे अपने CentOS सर्वर पर PHP 5.3 स्थापित करना होगा। यदि मैं करता हूं yum install php, तो आधार भंडार 5.1.6 स्थापित करता है जो उन अनुप्रयोगों के लिए बहुत पुराना है जिन्हें मुझे स्थापित करने की आवश्यकता है। इसलिए मैं IUS के आधिकारिक निर्देशों का पालन करते हुए IUS रिपॉजिटरी का उपयोग करने की कोशिश कर रहा हूं :

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm

root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm

ठीक। अब मुझे बस इतना ही करना है yum install php53, आदि सभी के लिए ... लेकिन मुझे यह त्रुटि मिली:

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test


Transaction Check Error:
  file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

Error Summary
-------------

मुझे नहीं पता कि इसे कैसे हल किया जाए। मुझे लगता है कि मुझे आधार पैकेजों को हटाना होगा। हालाँकि, लिनक्स में किसी नए के रूप में, मुझे नहीं पता कि यह कैसे करना है।

जवाबों:


8

अद्यतन : जाहिरा तौर पर RHEL 5.6 में PHP 5.3 शामिल है , इसलिए यह जल्द ही CentOS के लिए मूल रूप से दिखाई देगा।

file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

यहां समस्या यह है कि आपके द्वारा इंस्टॉल किए जा रहे पैकेजों का एक अलग नाम (php53 के बजाय php) है, लेकिन वे एक ही फाइल को स्थापित करने का प्रयास करते हैं ... इसलिए संघर्ष। यह जरूरी नहीं कि पैकेजों को एक साथ रखने का सबसे अच्छा तरीका है, लेकिन मुझे नहीं पता कि क्या बेहतर पैकेज उपलब्ध हैं इसलिए हम इसे अनदेखा करेंगे।

अपने वर्तमान में स्थापित पैकेजों को हटाने के लिए:

# yum remove php-cli php-common php

तो, सामान्य तौर पर, yum remove <list of packages>संकुल को हटा देगा। और हां, yum list installedस्थापित पैकेज (या rpm -qa) की एक सूची देखने के लिए ।


एचएम हाँ निकालें मिटा से बेहतर हो सकता है, क्योंकि मिटा भी निर्भरता को हटा देता है। पहले निकालने की कोशिश करें, अगर वह विफल हो जाए तो मिटाने की कोशिश करें।
फिल होलेनबैक

2
removeऔर CentOS और हाल ही में Fedora दोनों के तहत मैन पेज के eraseअनुसार, पर्यायवाची हैं yum
लार्क्स 20

धन्यवाद! यह काम किया, हालांकि मुझे php को हटाने की जरूरत नहीं थी लेकिन उस सूची में पहले दो थे। 5.3 php को संस्थापित करने के लिए, मुझे केवल yp को php53 को संस्थापित करने की आवश्यकता है? वहाँ सूचीबद्ध बहुत सारे हैं, लेकिन मुझे लगता है कि यह एकमात्र महत्वपूर्ण अधिकार है?
पांचाल्ट्रेसोफ्सोडा

निश्चित रूप से पर्यायवाची। में देखो yumcommands.pyअगर तुम संदेह है। :)
Mattdm

शायद। केवल आपको पता होगा कि आपके एप्लिकेशन को किसी भी अतिरिक्त मॉड्यूल की आवश्यकता है (जैसे, xml समर्थन, ldap समर्थन, डेटाबेस और आगे)।
लार्क्स

4

13 जनवरी, 2011 तक इसका उत्तर बदल गया है। Red Hat ने संस्करण 5.6 जारी किया है, और इसमें PHP संस्करण 5.3 एक अलग पैकेज ( php53) के रूप में शामिल है।

आपको पुराने PHP को निकालना होगा और फिर अलग से PHP 5.3 स्थापित करना होगा। यह IUS रिपॉजिटरी से आपके पैकेज के समान लगता है, लेकिन अब यह आधिकारिक है।

अधिक जानकारी के लिए, Red Hat रिलीज़ नोट देखें

ध्यान दें कि यह Red Hat से बाहर है, और CentOS में उपलब्ध होने से पहले इसमें थोड़ी देरी होगी। आरएचईएल 5.6 अपडेट अपेक्षाकृत मामूली दिखता है, हालांकि, मुझे इसकी उम्मीद नहीं करनी चाहिए कि यह बहुत लंबा है।


हां। और 4 महीने बाद। यह अभी भी सेंटोस रिपोस में नहीं है। :(
स्टेन

हाँ। :( lwn.net/Articles/435744
mattdm

यह अप्रैल, 2011 तक उपलब्ध है। Whew CentOS 5.6 रिलीज़ नोट्स
स्टीफन लासवर्स्की

2

नए को स्थापित करने से पहले संकुल के पुराने संस्करणों को हटाने का प्रयास करें:

yum erase php-cli php-comon

फिर अपने यम को स्थापित करने का प्रयास करें।

चेतावनी : उन परिवर्तनों की सूची को देखें, जो यम प्रतिबद्ध होने से पहले करना चाहते हैं, यह सुनिश्चित करने के लिए कि आप अन्य महत्वपूर्ण पैकेज नहीं निकाल रहे हैं।


2

आप सही हैं, आपको पहले डिफ़ॉल्ट php संकुल की स्थापना रद्द करने की आवश्यकता है। आगे बढ़ने से पहले, ध्यान रखें कि अन्य पैकेजों में आधार संस्करणों पर विशिष्ट निर्भरता हो सकती है। संभावना है, आप ठीक हो जाएंगे, लेकिन आपको पहले से ही चिंतित होना चाहिए कि आपको बाद में अन्य चिंताओं को दूर करना पड़ सकता है।

आपको जारी करके ऐसा करने में सक्षम होना चाहिए

yum erase php-common php-cli

आपके द्वारा अनुसरण किया गया

yum install php53


1
  1. मुझे हटाना पड़ा php-cli, php-commonऔर php-devकुछ निर्भरताओं के साथ , लेकिन (MySQL, आदि कुछ भी अछूता नहीं था।)
  2. मैं निर्भरता के साथ PHP 5.3 स्वाद में एक ही पैकेज स्थापित किया है और अब सब कुछ ऊपर और चल रहा है। phpinfoपुष्टि करता है कि मैं PHP संस्करण 5.3.3 चला रहा हूं।
  3. मैंने अपाचे और साइट को फिर से शुरू किया, जूमला चल रहा है, बस ठीक काम करता है।

0

मेरे पास एक ही मुद्दा था जहां "यम अपडेट php" मुझे संघर्ष की त्रुटियां देगा।

हालांकि "यम अपडेट" (सब कुछ अपडेट करें) चलाना मेरे लिए काम कर गया। कोशिश करो कि।

इसके अलावा, यह महसूस करें कि यदि आप "yum erase php" या "yum remove php" चलाते हैं, तो यह PHP पर निर्भर सभी संकुल को हटा सकता है ... जिसमें संभवत: आपके Plesk या CPanel कंट्रोल पैनल शामिल होंगे यदि आपने इसे स्थापित किया है। अगर मैं गलत नहीं हूं, तो आपको उन लोगों को फिर से स्थापित करना होगा, जो एक दर्द हो सकता है।


2
हां, मेरे पास बिल्कुल यही समस्या है। PHP को अपग्रेड करने के लिए, यम ड्रुपल को हटाना चाहता है, जो वास्तव में एक निर्भरता नहीं है: इसके लिए PHP को काम करने की आवश्यकता होती है, लेकिन यह काफी परवाह नहीं करता है कि PHP का कौन सा संस्करण है, क्योंकि यह PHP स्रोत है और संकलित कार्यक्रम नहीं है। PHP5.2 की स्थापना रद्द करने का कोई तरीका है और क्या यह ड्रुपल को अकेला छोड़ देता है?
बार्ट

0

मैंने अभी बहुत शोध के बाद इस समस्या को हल किया है, अर्थात् CentOS 5.3 पर PHP 5.3.10 स्थापित करना। मैंने कई रिपॉजिटरी का उपयोग करने की कोशिश की थी, जिसमें एटॉमिकॉर्प रेपो भी शामिल था , लेकिन इससे प्लेस्क टूट गया

मैंने अंत में पाया कि निम्नलिखित चरण एक उपचार का काम करते हैं, सोचा कि मैं साझा करूं।

शुरू

REMI और EPEL रिपॉजिटरी डाउनलोड और सक्षम करें

cd ~
wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

vi /etc/yum.repos.d/remi.repo

"[रेमी]" शीर्षक के तहत "सक्षम = 0" को "सक्षम = 1" में बदलें

आपको php-sqlite2 को निकालना होगा या आपको एक निर्भरता त्रुटि मिलेगी

yum remove php-sqlite2

इस मामले में PHP को नवीनतम संस्करण 5.3.10 में अपडेट करें

yum update php

Php.ini का बैकअप लें और नव-स्थापित संस्करण को सक्षम करें

mv /etc/php.ini /etc/php.ini.old
mv /etc/php.ini.rpmnew /etc/php.ini

My.cnf का बैकअप लें और नव-स्थापित संस्करण को सक्षम करें

mv /etc/my.cnf /etc/my.cnf.old
mv /etc/my.cnf.rpmnew /etc/my.cnf

आयनक्यूब एक्सटेंशन का नवीनतम संस्करण स्थापित करें

wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -xvf ioncube_loaders_lin_x86-64.tar.gz
mv ioncube/* /usr/lib64/php/modules/

echo 'zend_extension=/usr/lib64/php/modules/ioncube_loader_lin_5.3.so' > /etc/php.d/ioncube-loader.ini

आपको php एक्सटेंशन इंस्टॉल करने की आवश्यकता हो सकती है, इस मामले में मुझे SOAP एक्सटेंशन इंस्टॉल करने की भी आवश्यकता है:

yum install php-soap

परिवर्तनों को प्रभावित करने के लिए सेवाओं को पुनरारंभ करें

service mysqld restart
service httpd restart

किया हुआ

चीयर्स; निशान

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