RHSCL PHP को विश्व स्तर पर उपलब्ध कराने का सबसे अच्छा तरीका


10

मैंने निम्नलिखित url का उपयोग करके RHSCL 2 स्थापित किया है:

https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/2/html/2.0_Release_Notes/chap-Installation.html

RedHat सदस्यता प्रबंधक का उपयोग करना।

मैं फिर उसके yum remove php*पीछे भागाyum install rh-php56

सब कुछ सुचारू रूप से चला गया सिवाय अब PHP के कहीं भी नहीं मिला है। मैं फिर दौड़ा find / -name phpऔर rh-php56निम्नलिखित निर्देशिकाओं में पाया :

/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/register.content/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/root/usr/bin/php
/opt/rh/rh-php56/root/usr/lib64/php
/opt/rh/rh-php56/root/usr/share/php

इन बायनेरिज़ को /usr/binया किसी अन्य निर्देशिका को प्राप्त करने का सबसे अच्छा तरीका क्या है जो आमतौर पर सभी उपयोगकर्ताओं के लिए वैश्विक रूप से उपलब्ध है?

क्या मैंने पैकेजों को स्थापित करते समय एक कदम याद किया जो कि विश्व स्तर पर उपलब्ध क्यों नहीं है? या RHSCLs का उपयोग करते समय ऐसा ही होता है?

मैंने उन फ़ोल्डरों में बायनेरिज़ का परीक्षण किया है और वे तब काम करते हैं जब मैं चलाता हूं php -vतो यह ठीक काम कर रहा है।

मेरा पहला विचार बस cpमें है /binया /usr/binशायद एक आधिकारिक तरीका है जो मैं पूछ रहा हूं?

संपादित करें

टिप्पणी नहीं कर सकता, कोई प्रतिनिधि नहीं ... मेरे द्वारा पोस्ट किए गए लिंक के अध्याय 3 से, यह कहता है कि सॉफ़्टवेयर संग्रह पैकेज को इस तरह चलाना चाहिए:

scl enable rh-php56 'php -v'

जो काम करता है ... हालाँकि मुझे यह कैसे मिलता है कि सभी उपयोगकर्ताओं $ php -vको बिना किसी अतिरिक्त आदेश के साथ चलना पड़े। मुझे विश्व स्तर पर उपलब्ध php बायनेरिज़ की आवश्यकता है, ताकि वेबसर्वर सामान्य शेल के साथ इसका उपयोग कर सकें और उपयोगकर्ताओं को बता सकें।


आप लिंक आप दे दी है के 3 अध्याय को पढ़ने के लिए भूल गया ....
स्वेन

1
स्वेन ... मैंने इसे स्वयं पढ़ा है .. और यह सब उपलब्ध संग्रह के साथ एक उप-खोल शुरू कर रहा है। यह उप-शेल को चलाने के लिए उपयोगकर्ता की आवश्यकता के बिना डिफ़ॉल्ट रूप से एक संग्रह उपलब्ध करने के तरीके का विवरण नहीं देता है। मैं नीचे एक उचित समाधान का विस्तार करूंगा।
एंथनी

स्वेन, इसका मतलब है कि प्रत्येक उपयोगकर्ता और प्रत्येक डेमन को चलाने की आवश्यकता होगी scl enable rh-php56 command, जो जटिल है। @ एंटोफिटी के उत्तर के माध्यम से इसे विश्व स्तर पर सक्षम करना बहुत अधिक सुरुचिपूर्ण है।
स्टीफन लासिवस्की

जवाबों:


16

अपने वर्तमान शेल में सॉफ़्टवेयर संग्रह आयात करने का तरीका (सब-शेल लॉन्च नहीं करना) "सक्षम" फ़ाइल को स्रोत बनाना है।

उदाहरण के लिए rh-php56 पर एक Redhat 7 मशीन ...

source / opt / rh / rh-php56 / enable

अब आप "php" चला सकते हैं, या सामान्य रूप से "man php" मानपत्र पढ़ सकते हैं।

जो वर्तमान गोले वातावरण में उपयुक्त पर्यावरण चर जोड़ देगा। व्यक्तिगत उपयोगकर्ता इसमें कर सकते हैं .bashrc फाइलें, यह SSH (गैर-संवादात्मक गोले) से उपलब्ध होने की अनुमति देता है

आप सक्षम फ़ाइल (या सिमिलिंक) सक्षम फ़ाइल को /etc/profile.d/ में ".sh" प्रत्यय के साथ स्वचालित रूप से सभी उपयोगकर्ताओं के लिए सक्षम कर सकते हैं।

उदाहरण के लिए

ln -s / opt / rh / rh-php56 / enable /etc/profile.d/rh-php56.sh

पर्यावरण से ज्यादा जरूरत होने पर (जैसे डेमॉन?) ऐसा करने से सावधान रहें। या यदि उस सॉफ़्टवेयर के कई संस्करण एक सिस्टम पर मौजूद हैं (अन्य सॉफ्टवेयर / सेवाओं के साथ पिछड़े संगतता के लिए), क्योंकि संस्करणों के बीच बातचीत हो सकती है। साथ ही उपयोगकर्ता 'नवीनतम' संस्करण नहीं चाहते हैं, या इस बात से भ्रमित हो जाते हैं कि 'आधार' प्रणाली (ईजी: / इत्यादि) सॉफ्टवेयर संग्रह संस्करण पर प्रभाव क्यों नहीं डालती।

एंथोनी थिसेन (एक बहुत पुराना सिस्टम एडमिन)


php.ini का कौन सा उदाहरण इस विधि को लागू करता है?
डार्वेन जुआन

1
Php.ini फ़ाइल को रीड किया जाता है, जिसे php प्रोग्राम में हार्ड कोडित किया जाता है। उपरोक्त उदाहरण में यह "/etc/opt/rh/rh-php56/php.ini" है। आप PHP स्क्रिप्ट </? Php phpinfo ()?> या तो ".php" वेब पेज से या CLI PHP कमांड का उपयोग करके इसे सत्यापित कर सकते हैं।
एंथनी

आह ... मैं php-fpm सेवा के बजाय httpd को पुनः आरंभ कर रहा था। मामले में यहाँ पोस्टिंग किसी और तरह से अटक जाती है।
दरवानें

क्या यह वास्तव में SCL पैकेज को सक्षम करने के लिए पर्याप्त है? access.redhat.com/solutions/527703 एक बैश स्क्रिप्ट बनाता प्रतीत होता है, जो कुछ ऐसा करती हैsource scl_source enable python33
स्टीफन लासिवस्की

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