2013-02-04 14 views
17

मुझे संकुल को स्थापित करने के बारे में कुछ भी नहीं पता है। मैं एक बहुत ही विशिष्ट ट्यूटोरियल का पालन करके थोड़ी देर पहले ज़ेंड फ्रेमवर्क 1 को स्थापित करने में कामयाब रहा।मैं CentOS पर PHP intl एक्सटेंशन कैसे स्थापित करूं?

अब मुझे PHP intl एक्सटेंशन की आवश्यकता है और मैं इसे इंस्टॉल करने का तरीका नहीं समझ सकता।

मैं

yum list php*intl 

किया था और देखा कि एक ही उपलब्ध था। इसलिए मैं

yum install php-intl 

किया था और निम्न त्रुटि संदेश मिल गया:

Error: Package: php-intl-5.3.3-14.el6_3.x86_64 (updates) 
     Requires: php-common = 5.3.3-14.el6_3 
     Installed: php-common-5.3.17-2.el6.remi.x86_64 (@remi) 
      php-common = 5.3.17-2.el6.remi 
     Available: php-common-5.3.3-3.el6_2.8.x86_64 (base) 
      php-common = 5.3.3-3.el6_2.8 
     Available: php-common-5.3.3-14.el6_3.x86_64 (updates) 
      php-common = 5.3.3-14.el6_3 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest 

मैं सुझाव संदेश में बताया गया कोशिश नहीं की क्योंकि मैं वे क्या करेंगे पता नहीं था और मैं तोड़ने का डर लग रहा है कुछ कुछ। यह एक उत्पादन मशीन है और मेरे पास परीक्षण करने के लिए एक और मशीन नहीं है। मैंने डाउनलोड करने के लिए एक आरपीएम खोजने की कोशिश की जो कि मेरे PHP के समान संस्करण था, लेकिन कोई भाग्य नहीं था।

उन दो सुझावों को क्या करते हैं और वे सुरक्षित कोशिश करने के लिए हैं? इंटेल एक्सटेंशन स्थापित करने के लिए मैं और क्या प्रयास कर सकता हूं?

उत्तर

20

आप php-commom रेमी खजाने से राशि के रूप में, आप भी रेमी से php-intl प्राप्त करने की आवश्यकता।इस प्रकार

--enable-repo विकल्प जोड़ें:

yum --enablerepo=remi install php-intl 
+0

मैं इसका परीक्षण करने में असमर्थ हूं क्योंकि रेमी अब PHP 5.4 है और मैं अभी तक अपग्रेड करने के लिए तैयार नहीं हूं। लेकिन जवाब पूरी समझ में आता है और मुझे लगता है कि यह वांछित परिणाम दिया होगा जब remi अभी भी PHP 5.3.x था। – toxalot

+0

आप सही हैं, मुझे एक ही त्रुटि संदेश मिला है लेकिन मेरे पास PHP 5.4 है –

1

यम एक त्रुटि फेंक रहा है क्योंकि हम कई संस्करणों को संघर्ष के संस्करणों में अद्यतन करने का प्रयास कर रहे हैं। आपका यम आउटपुट कहता है कि php-intl को php-common के विशिष्ट संस्करण की आवश्यकता होती है।

Requires 5.3.3-14 
Installed 5.3.17-2 
Available 1st Option: 5.3.3-3 
Available 2nd Option: 5.3.3-14 

यह हमें बताता है कि आप पहले से ही php-आम (5.3.17-2) के नवीनतम संस्करण स्थापित किया है की तुलना में php-intl द्वारा अनुमति दी है: सब कबाड़ निकाला जा रहा है।

मुझे लगता है कि आपके पास दो विकल्प हैं। (एक नौसिखिया अपने आप के रूप में, मैं एक देव वातावरण में अभ्यास के बिना इन का प्रयास नहीं करेंगे।)

1) रेमी संकुल

सुपर उपयोगकर्ता पर एक समान प्रश्न से हवाला देते हुए निकालें। "सभी रीमी php संकुल को हटाने का प्रयास करें, remi रिपॉजिटरी अक्षम करें और डिफ़ॉल्ट सेंटोस 6 php 5.3.3 संकुल को संस्थापित करें।"

https://superuser.com/questions/505340/centos-6-how-to-install-php-mysql-when-php-common-remi-is-present

2) संस्करण 5.3.3-14

yum downgrade php-common 

लिए php-आम डाउनग्रेड मुझे पता नहीं है, तो आप और अधिक निर्भरता समस्या आती है और अन्य संकुल डाउनग्रेड करने के लिए होगा। मुझे यहां अधिक जानकारी मिली।

https://www.centos.org/modules/newbb/viewtopic.php?topic_id=40567&forum=56

अन्य स्टैक एक्सचेंज साइटों इसी तरह के सवाल दिखा।

https://serverfault.com/search?q=centos+error+package (370 परिणाम)

https://unix.stackexchange.com/search?q=centos+error+package (57 परिणाम)

6

आप 5.6 की तरह उच्च PHP संस्करण है, तो आप सभी अतिरिक्त निर्भरता स्थापित करने के लिए दोनों remi और remi-php56 रेपोस सक्षम करने के लिए:

yum --enablerepo=remi,remi-php56 install php-intl 
2

मैं निम्नलिखित चरणों का उपयोग कर pecl के माध्यम से सफलतापूर्वक INTL स्थापित किया।

1) स्थापित आईसीयू & libs:

yum -y install icu libicu libicu-devel

2) php-devel संकुल और phpize:

yum -y install php-devel phpize

3) और, ज़ाहिर जीसीसी के:

yum -y install gcc gcc-cpp gcc-c++

यह मेरे लिए काम कर रहा है। मेरा PHP संस्करण 5.6.12

संबंधित मुद्दे