2008-12-28 13 views
5

आप में से उन लोगों के लिए जिन्हें PHP में वेब अनुप्रयोगों को लिखने का अवसर मिला है और फिर एक अनुप्रयोग सर्वर (जैसे। पाइथन-आधारित समाधान जैसे चेरीपी या पिलोन), किस संदर्भ में एप्लिकेशन सर्वर PHP के लिए बेहतर विकल्प हैं?PHP बनाम आवेदन सर्वर?

मैं केवल PHP का पक्ष लेता हूं क्योंकि यह किसी भी वेब सर्वर (विशेष रूप से साझा मेजबान) पर उपलब्ध है, लेकिन मैं सूचित विकल्प बनाने के अन्य अच्छे कारणों की तलाश में हूं। धन्यवाद।

उत्तर

1

PHP में कई उत्पाद हैं जो चेरीपी या पिलोन के समान स्थान भरते हैं।

(छोड़कर, ज़ाहिर है, वे अजगर नहीं चला;)

पर एक नजर डालें -

व्यक्तिगत रूप से, मैं ड्रूपल पसंद करता हूं, जो एक महान ढांचे के रूप में काम करता है और बॉक्स के बाहर कई सीएमएस और सामुदायिक साइट सुविधाओं के साथ आता है। ऊपर दिए गए लोग कई तरीकों से काफी अलग हैं, लेकिन इनमें से कोई भी आपको दोनों दुनिया के सर्वश्रेष्ठ प्रदान कर सकता है यदि आप एक ऐप फ्रेमवर्क/एप्सर्वर चाहते हैं जो PHP पर चलता है।

कौन सा सही विकल्प है मोटे तौर पर स्वाद की बात है, हालांकि प्रत्येक अपनी विभिन्न फायदे और नुकसान है।

और भी बहुत कुछ हैं - ये केवल वे हैं जिन्हें मैंने सहकर्मियों और सहयोगियों के बारे में अच्छी बातें सुनी हैं। यह एक पूरी सूची नहीं है।

4

PHP के लिए तैनाती का लाभ एक बड़ा है। आपके पास एक बड़ा डेवलपर आधार भी होगा, और आपके जैसा ध्वनि पहले से ही काफी विशेषज्ञता है। सामान्य रूप से यदि आप जानते हैं कि प्रोग्रामिंग भाषा का उपयोग कैसे किया जाए, तो आप इसके साथ रहना सुरक्षित रहेंगे।

पायथन जैसे पाइथन वेब ढांचे का उपयोग करने के फायदे यह हैं कि आपका कोड साफ-सुथरा और अधिक रखरखाव योग्य होगा। बेशक यह PHP के साथ संभव है, लेकिन हासिल करने के लिए बहुत कठिन लगता है। पाइथन PHP की तुलना में बस एक अच्छी भाषा है, जिससे आपके निर्णय को प्रभावित हो सकता है।

व्यक्तिगत रूप से, यदि आप पाइथन एप्लिकेशन सर्वर चाहते हैं, तो मैं या तो पिलोन या चेरीपी को "एप्लिकेशन सर्वर" के रूप में वर्णित नहीं करता, Zope आज़माएं। (वे दोनों डब्लूएसजीआई अनुप्रयोगों की सेवा करते हैं, लेकिन यह एक और प्रश्न के लिए एक विषय है।) PHP के लिए समकक्ष ढांचे के बहुत सारे प्रतीत होते हैं, और उन्हें अन्य उत्तरों में सूचीबद्ध किया गया है।

0

पिल्लों, डीजेगो इत्यादि जैसे अनुप्रयोग सर्वरों का उपयोग करने के लिए सेटअप और तैनाती के लिए अधिक काम की आवश्यकता होती है, जो आमतौर पर बॉक्स से बाहर समर्थित होते हैं। मैं कुछ Django ऐप्स चलाता हूं और चीजों को काम करने के लिए mod_python के साथ अपाचे को कॉन्फ़िगर करने के बारे में कुछ सीखना पड़ता था। मैंने प्रयास किया क्योंकि PHP के मुकाबले पायथन में कोडिंग मेरे लिए बहुत अधिक सुखद है और जब आप वास्तव में इसके साथ कभी गड़बड़ नहीं करते हैं तो अपाचे कॉन्फ़िगरेशन प्राप्त करने के बाद। एक और नोट पर, यदि आप Django, Rails, Pylons, जैसे ढांचे के साथ जाने का निर्णय लेते हैं ....वे बहुत से छोटे दोहराव वाले कार्यों को हल करते हैं जो आप अन्यथा स्वयं करते हैं। लेकिन ढांचे पर चर्चा का अपना विशाल विषय है।

1

पायथन वेब-ऐप्स समकक्ष PHP साइट (विशेष रूप से छोटी साइटों के लिए) की तुलना में अधिक प्रारंभिक सेटअप और विकास की आवश्यकता होती है। PHP के लिए अधिक पुन: प्रयोज्य टुकड़े भी होते हैं (यानी एक ब्लॉग के रूप में वर्डप्रेस)। पाइथन वेब-ऐप्स चलाने के लिए सर्वर को कॉन्फ़िगर करना एक कठिन प्रक्रिया हो सकती है, और हमेशा अच्छी तरह से प्रलेखित नहीं होती है। Apache के साथ चलने के लिए PHP बहुत आसान हो जाता है।

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

हालांकि, पायथन अधिक मजेदार है, और अधिक रखरखाव योग्य है। यह अच्छी तरह से स्केल करता है (यातायात के बजाय विकास जटिलता शर्तों में)।

व्यक्तिगत रूप से, मैं यह भी कहूंगा कि पाइथन का उपयोग करके आपको बेहतर तरीके से समस्याओं को हल करने के लिए प्रशिक्षित किया जाता है। चीजों को करने के पाइथोनिक तरीके से सीखने के लिए मैं निश्चित रूप से एक बेहतर डेवलपर हूं।

4

मुझे एहसास है कि कुछ प्रतिक्रियाओं ने प्रारंभिक प्रश्न को सीधे संबोधित नहीं किया है, इसलिए मैंने अपना खुद का पोस्ट करने का फैसला किया। मैं समझता हूं कि प्रश्न mod_php परिनियोजन मॉडल और एप्लिकेशन सर्वर परिनियोजन मॉडल के बीच के अंतर के बारे में था।

सरल शब्दों में, PHP प्रत्येक अनुरोध पर एक दी गई स्क्रिप्ट निष्पादित करता है, और एप्लिकेशन को पहले से क्या हुआ है इसका कोई ज्ञान नहीं है (जब तक यह किसी भी तरह नकल नहीं होता है)। इसके अलावा प्रत्येक अनुरोध पर स्रोत कोड को पार्स किया जा रहा है (जब तक आप एपीसी जैसे बाइटकोड कैश का उपयोग नहीं करते)। यह प्रक्रिया धीमी हो सकती है, खासकर यदि आपके पास जटिल प्रारंभिकरण के साथ एक ढांचा है।

इसके विपरीत, एप्लिकेशन सर्वर को एक बार शुरू करना होगा, और फिर यह संसाधित होने के अनुरोध की प्रतीक्षा करता है। एप्लिकेशन सर्वर को प्रत्येक अनुरोध (आवंटित स्मृति, खुले डिस्क्रिप्टर इत्यादि) के बाद संसाधनों को साफ करना चाहिए, यह कुछ संसाधनों (जैसे डेटाबेस कनेक्शन) को भी पूल कर सकता है जिसे अतिरिक्त प्रदर्शन के अनुरोधों के बीच पुन: उपयोग किया जा सकता है।

यह बाद का मॉडल (एप्लिकेशन सर्वर) ज्यादातर मामलों में अधिक कुशल है, लेकिन दूसरी ओर सेटअप और बनाए रखने के लिए और अधिक कठिन है। यह भी अधिक मांग है, क्योंकि संसाधन संसाधनों से बचने के लिए आपको उपयोग किए जाने वाले संसाधनों पर अधिक ध्यान देना होगा।

+0

यह एक उत्कृष्ट विवरण है। कृपया ऊपर उठाओ। –

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