PHP के दृष्टिकोण से एक सर्वर भाषा के रूप में पायथन का उपयोग कैसे करें


11

मैं केवल PHP के साथ सर्वर साइड प्रोग्रामिंग जानता हूं। मेरे लिए, मैं कुछ लिखता हूं index.phpऔर कॉल करता हूं और http://localhost/index.phpPHP स्क्रिप्ट के परिणाम देखता हूं। मैं CakePHP का उपयोग कर रहा हूं और समझ रहा हूं कि URL पुनर्लेखन के साथ आप कुछ कर सकते हैं, लेकिन मेरे दिमाग में, सर्वर पर URL और PHP फाइलों के बीच एक से एक संबंध हैं।

अब मैं पायथन के साथ बहुत कुछ करता हूं, लेकिन सिर्फ कमांड लाइन उपयोग करता है। मैं अपनी अगली परियोजना के लिए PHP के बजाय अजगर का उपयोग करना चाहूंगा। अब तक, मुझे इस बारे में बताया गया था mod_python, कि मुझे कोई भी आउटपुट प्राप्त करने के लिए Pylons या Twisted या Django जैसी रूपरेखा का उपयोग करना होगा। दूसरों ने कहा है कि मेरे पास बस print()एक HTTP हैडर है और फिर स्क्रिप्ट का उत्पादन होगा जैसे कि मुझे PHP के साथ उपयोग किया जाता है।

मैं कुछ लिखना चाहता हूं जो मूल रूप से केवल एक निर्देशिका लिस्टिंग लेता है और इसे सुंदर बनाता है, ताकि मैं एक मोबाइल ब्राउज़र से पीडीएफ फाइलों का एक गुच्छा एक्सेस कर सकूं। मुझे पता है कि PHP के साथ यह कैसे करना है, मुझे पता है कि पायथन स्क्रिप्ट कैसे बनाई जाती है जो HTML उत्पन्न करती है। जब मैं खुलता हूं तो मुझे उस स्क्रिप्ट को निष्पादित करना नहीं आता है http://localhost/pdfcentral/

मुझे अपने सर्वर को कैसे कॉन्फ़िगर करना होगा? यह Ubuntu 10.04 पर चलता है।


ऐसी कई विविधताएँ हैं जिन्हें आप ले सकते हैं लेकिन सबसे सरल तरीका यह होगा कि आप अपनी cgi-binनिर्देशिका में पायथन स्क्रिप्ट को डाल दें ताकि सर्वर इसे निष्पादित करना जानता हो, और यदि आप किसी भिन्न पथ का उपयोग करना चाहते हैं तो वैकल्पिक रूप से PHP फ़ाइल को पुनर्निर्देशित करें। पायथन लिपि के बारे में आप स्वयं इस प्रक्रिया का पालन कर सकते हैं: forrestbao.blogspot.com/2009/08/…
आयनफिश

जवाबों:


9

mod_pythonअब सक्रिय रूप से विकसित नहीं किया जा रहा है। जबकि अपाचे का कहना है कि इसका मतलब यह नहीं है कि परियोजना मर चुकी है -

वर्तमान में mod_python सक्रिय विकास के अंतर्गत नहीं है। इसका मतलब यह नहीं है कि यह "मृत" है जैसा कि कुछ लोगों ने दावा किया है। इसका मतलब यह है कि कोड और प्रोजेक्ट पर्याप्त परिपक्व हैं जब इसे बनाए रखने के लिए बहुत कम आवश्यकता होती है।

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

हेवी लिफ्टिंग - हैंडलिंग रूटिंग, अनुरोधों और पसंद को करने के लिए वेब-फ्रेमवर्क का उपयोग करना बेहतर होगा

अजगर वेब-फ्रेमवर्क की एक व्यापक सूची यहाँ उपलब्ध है , लेकिन यहाँ कुछ हैं जो लोकप्रिय हैं -

  • Django - इसे पाइथन रूबी ऑन रेल्स के बराबर माना जाता है, और यह बहुत भारी कर्तव्य है, इसलिए आपको जो भी आवश्यक है उसके लिए एक अच्छा फिट नहीं होगा।
  • फ्लास्क - यह एक माइक्रोफ्रामवर्क है। यही है, यह छोटा है, आपके रास्ते में नहीं आता है, और छोटी परियोजनाओं के लिए आदर्श है, जिनमें बहुत सारी बैटरियों की आवश्यकता नहीं होती है।
  • पिरामिड - यह उन लोगों के एक ही समूह द्वारा बनाया गया है जिन्होंने पाइलन्स का निर्माण किया था, जो कि कोई दोष नहीं है। यह फ्लास्क और Django के बीच कहीं है - या तो एक प्रतिस्थापन के रूप में इस्तेमाल किया जा सकता है।
  • बोतल - यह एक और माइक्रोफ्रामवर्क है, और फ्लास्क से भी अधिक न्यूनतम है। सिर्फ एक फाइल है और इसकी कोई निर्भरता नहीं है (यदि आप मानक टेंपरेचर के अलावा बिल्ट इन टेंपरेचर इंजन का उपयोग करते हैं), तो आप जो चाहते हैं उसके लिए एक अच्छा फिट होगा।
  • Web.py - एक बार संचालित Reddit (जिसे अधिग्रहीत किए जाने के बाद नए उपकरणों के साथ फिर से लिखा गया था)।
  • webapp2 - यह Google ऐप इंजन के लिए मानक ढांचा है (हालांकि आप वहां अन्य रूपरेखाओं का उपयोग कर सकते हैं)।

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

इसके अलावा, आपको अपने html को इकट्ठा करने के लिए एक टेम्पलेट इंजन की आवश्यकता होगी। जिनजा 2 , उसी लोगों द्वारा बनाया गया है जो फ्लास्क बनाते हैं, और बहुत व्यापक रूप से उपयोग किया जाता है। लेकिन phpवेब विकास से आने पर , आप माको को और अधिक प्राकृतिक उपयोग कर सकते हैं , जो बहुत लोकप्रिय है।

यहाँ पायथन वेब डेवलपमेंट पर एक अधिक व्यापक फेक्ट है - पायथन एफएक्यू: वेबदेव


1
मुझे अब थोड़ी सी फ्लास्क परियोजना मिल गई है जो फास्टचेजी के साथ चल रही है और एक टेस्ट मशीन पर लाइट लाइटपैड है, इसे सर्वर पर भी चलना चाहिए। आपका बहुत बहुत धन्यवाद!
मार्टिन उडिंग

1

मुझे यह सवाल थोड़ा उलझा हुआ लगा और अगर मैं सही हूं तो मैं मान लेता हूं कि आपका मुख्य उद्देश्य सुंदर स्टाइल का उपयोग करके अपने मोबाइल फोन की फ़ाइलों की सेवा करना है?

अगर यह सच है, तो आपको कुछ स्थापित करने के लिए इतने सारे छोरों पर जाने की आवश्यकता नहीं होनी चाहिए।

Apache2 आपको मुख्य फ़ाइल लिस्टिंग निर्देशिका को संपादित करने की अनुमति देता है ताकि आप इसे वैसे भी बहुत स्टाइल कर सकें।

ऑनलाइन उपलब्ध कई मुख्य थीम भी हैं, बस Apache2 डायरेक्टरी लिस्टिंग के लिए थीम के लिए Google खोजें, यह उत्तरदायी बनाने के लिए कठिन भी नहीं होगा।

यहाँ कुछ जानकारी है कि अपाचे के डिफ़ॉल्ट रूप को कैसे बदलना है

और कुछ तैयार किए गए टेम्पलेट्स की जांच करने के लिए, वहाँ कई और अधिक है ...।

स्टाइल रिपोज करें

Recurser

सूचकांकों


यह प्रारंभिक समस्या को अच्छी तरह से हल करने के लिए लगता है। मैंने सोचा कि मैं इसे PHP से पायथन में स्थानांतरित करने के लिए पहली परियोजना के रूप में उपयोग कर सकता हूं। यदि पायथन परियोजना स्टाल करती है, तो मैं इस पर एक नज़र डालूंगा। धन्यवाद!
मार्टिन उडिंग

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