PHP rbenv / rvm के बराबर है


1

मैंने हमेशा PHP स्थापित करने के लिए Ubuntu के आधिकारिक रिपॉजिटरी का उपयोग किया है, लेकिन रूबी इंस्टॉलेशन के लिए rbenv और rubybuild जैसे उपकरणों के साथ खेलने के बाद, मैं सोच रहा हूं कि क्या PHP को स्थापित करने के लिए बेहतर उपकरण / तकनीक मौजूद हैं। विशेष रूप से, मैं ठीक वही दानेदार नियंत्रण रखना चाहूंगा जिस पर PHP संस्करण मैं स्थापित करना चाहता हूं बजाय इसके कि जो भी संस्करण Canonical मेरे लिए है।

यह भी एक साथ कई संस्करणों को स्थापित करने और उनके बीच मूल रूप से स्विच करने में सक्षम होने के लिए अच्छा होगा।

जवाबों:


0

शायद आप यह चाहते हैं, लेकिन किसी ऐसे व्यक्ति के रूप में, जो PHP में विशेष रूप से और रूबी में पर्याप्त रूप से कार्यक्रम करता है, मैं कह सकता हूं कि मुख्य कारण रूबी के पास संस्करण नियंत्रण प्रणालियां हैं, बस बदलते समय गलत, विफल या टूटने वाली चीजों की पूरी मात्रा है। PHP कहीं अधिक क्षमाशील और आज्ञाकारी तरीकों और कार्यों की समझ है।

उदाहरण के लिए, यदि आप PHP 5.1.6 से PHP 5.4 तक की छलांग लगाते हैं, तो अपेक्षाकृत कम है जो कूदते हुए संस्करणों को तोड़ देगा, जिन्हें जल्दी से ठीक नहीं किया जा सकता है। मतलब अगर कुछ टूटता है तो यह PHP त्रुटियों से काफी स्पष्ट है कि क्या गलत हो गया है। और PHP रूबी की तुलना में कहीं अधिक पीछे संगत है।

उस ने कहा, आप हमेशा PHP मॉड्यूल के कई संस्करणों को मैन्युअल रूप से स्थापित कर सकते हैं और फिर अपने Apache config को समायोजित कर सकते हैं, Apache को पुनरारंभ कर सकते हैं और वहां जा सकते हैं। उदाहरण के लिए, मेरे पास एक क्लाइंट था जो विरासत कोड था जो केवल PHP 5.1.6 के साथ काम करेगा। इसलिए मैंने इसे उबंटू 11.04 (और फिर 11.10 के साथ-साथ 12.04) पर स्रोत से संकलित किया, लेकिन इस तरह मॉड्यूल को नाम देना सुनिश्चित किया:

/usr/lib/apache2/modules/libphp516.so

आमतौर पर स्थापित PHP मॉड्यूल का नाम कुछ इस तरह होता है:

/usr/lib/apache2/modules/libphp5.so

तो यह नामकरण libphp516.soतो यह संस्करण संख्या भी शामिल है मुझे जगह में PHP के कई संस्करणों के लिए अनुमति देता है।

उस काम के साथ, मुझे केवल उन संस्करणों को स्विच करने की ज़रूरत है php5.loadजो यहां स्थित हैं:

sudo nano /etc/apache2/mods-available/php5.load

तो इसमें इस तरह से लाइनें थीं:

# LoadModule php5_module        /usr/lib/apache2/modules/libphp.so
LoadModule php5_module        /usr/lib/apache2/modules/libphp516.so

पहली पंक्ति में टिप्पणी PHP के पहले से स्थापित संस्करण को संदर्भित करती है जो apt-get/ के माध्यम से स्थापित है aptitude। इसके नीचे की रेखा अपाचे को libphp516.soमॉड्यूल लोड करने के लिए कहती है । Apache को पुनरारंभ करें और अब PHP 5.1.6 काम कर रहा है।

लेकिन मुझे पता है कि प्रणाली का प्रबंधन करेगा जो कि अधिक सहज / उच्च-स्तरीय तरीके से प्रबंधन करेगा। जैसा कि मैंने सच में कहा था, मैं कई लोगों को नहीं जानता- मेरे जैसे लोगों के अलावा अन्य लोग जो ऐसा करने के लिए मजबूर हैं-जिन्हें इस तरह के उपकरण की आवश्यकता होगी क्योंकि जब यह रूबी की तुलना में विरासत कोड की बात आती है तो PHP कहीं अधिक स्केलेबल और सम्मानजनक है। नाटक में दो अलग-अलग कोडिंग दर्शन।

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