PHP का उपयोग वेब सर्वरों पर इतनी बार क्यों किया जाता है? [बन्द है]


14

मेरा वेब सर्वर PHP का उपयोग करता है जैसा कि W3Tech के अनुसार 76.9% वेब सर्वर करते हैं:

http://w3techs.com/technologies/overview/programming_language/all

मेरे द्वारा PHP का उपयोग करने का कारण वेब सर्वर पर इसका उपयोग करने वाले अन्य लोगों को देखने से पैदा हुई जड़ता है। यह PHP के बारे में क्या है जो इसे वेब सर्वर पर इतना सर्वव्यापी बना देगा?

(ध्यान दें कि यह प्रश्न निम्नलिखित प्रश्न के समान है लेकिन इसे एक अलग दिशा में ले जाता है: आधुनिक वेब अनुप्रयोग विकास के लिए जावा का उपयोग क्यों नहीं किया जाता है? )


4
मैंने हमेशा मान लिया क्योंकि यह अपाचे पर स्थापित करना आसान है और लगभग सभी वेब सर्वर अपाचे हैं।
maple_shaft

14
PHP एक ऐसी भाषा है जो साबित करती है कि लगभग हर कोई प्रोग्राम कर सकता है, जबकि लगभग सभी को ऐसा नहीं करना चाहिए। यह वेब पीढ़ी का विजुअल बेसिक है।
पॉल टॉम्बलिन

2
मैं एक और बिंदु पर बहस करना चाहता हूं - पीएचपी में वेबसाइटों के लिए अच्छा सार है - यह कैश फ्रेंडली है, इसका एक अपरिवर्तनीय अनुरोध / प्रतिक्रिया चक्र है, यह आपको संसाधन प्रबंधन के साथ सौदा नहीं करता है, यह आपको डेटा संरचनाओं के साथ सौदा नहीं करता है, इसका गतिशील प्रकृति डेटाबेस के साथ अच्छी तरह से काम करती है और इसमें एक टन का कार्य होता है इसलिए पैकेज अधिक दुर्लभ होते हैं और तैनाती आसान होती है। मुझे PHP पसंद नहीं है, लेकिन इसके लिए एक मामला बनाना बहुत आसान है - मैं आश्वस्त नहीं हूं लेकिन इसे बनाना आसान है।
बेंजामिन ग्रुएनबाम

जवाबों:


41

PHP एक ऐसी भाषा है जिसे विशेष रूप से वेब प्रोग्रामिंग के लिए बनाया गया है जिसमें सबसे लोकप्रिय ओपन सोर्स डेटाबेस MySQL के साथ अंतर्निहित एकीकरण है।

  • शुरुआत करना आसान : एक शुरुआत के रूप में PHP से शुरू करना आसान है। उपयोगकर्ता को बस कुछ PHP-टैग जोड़ना होगा जैसे कि इसमें मौजूद HTML-files में for-loop है और फिर इसे सर्वर पर अपलोड करें और परिणाम या एक त्रुटि संदेश देखें। गतिशील टाइपिंग और साहचर्य सरणियों से PHP का उपयोग शुरू करना भी आसान हो जाता है।

  • उपयोग करने में आसान: जैसे जावा, PHP जैसे अधिकांश समाधानों की तुलना करने की आवश्यकता नहीं है, इसलिए यह सिर्फ स्क्रिप्ट लिखने और फिर इसे सर्वर पर अपलोड करने और फिर ब्राउज़र को अपडेट करने के लिए है।

  • इंटीग्रेटेड डेटाबेस सपोर्ट: PHP में (ज्यादातर) जैसे MySQL के सबसे लोकप्रिय डेटाबेस के लिए बिल्ट-इन सपोर्ट है, इसका मतलब है कि डेटाबेस का उपयोग करना शुरू करना आसान है, किसी भी अतिरिक्त ड्राइवर को इंस्टॉल करने की आवश्यकता नहीं है, बस mysql-functions का उपयोग करने के लिए। वेब आधारित व्यवस्थापक टूल का उपयोग करना आसान है PHPMyAdmin (1998 जारी) भी MySQL के संयोजन में PHP की सफलता के लिए महत्वपूर्ण है।

  • एक बड़े उपयोगकर्ता आधार के साथ पुरानी भाषा (1995 के बाद से): वेब प्रोग्रामिंग के लिए डिज़ाइन किए जाने के बाद से PHP लोकप्रिय (1995) बन गया। तब से उपयोगकर्ता आधार बड़ा हो गया है और अब कई वेब-उन्मुख रूपरेखाएँ और पुस्तकालय उपलब्ध हैं। कुछ उदाहरण ब्लॉग-सिस्टम और ई-शॉपिंग-प्लेटफ़ॉर्म हैं।

  • सस्ता होस्टिंग: चूंकि PHP लंबे समय से अस्तित्व में है और यह लिनक्स और विंडोज दोनों पर अच्छा काम करता है, और कई webservers के पास इसके लिए समर्थन है। PHP को पूर्व-स्थापित के साथ होस्टिंग खोजने में कोई समस्या नहीं है।


1
इसे उत्तर के रूप में चिह्नित करें, आपको आगे जाने की आवश्यकता नहीं है: पी। अच्छा उत्तर @ जोनास
पंकज उपाध्याय

यहां अधिकांश बिंदु क्लासिक एएसपी के लिए भी सही हैं। ओह, और सादा JSP भी।
Adriano Carneiro

4
@ एड्रियन: 1) पीएचपी को JSP और ASP दोनों से पहले जारी किया गया था। 2) PHP के साथ MySQL का उपयोग करना आसान है क्योंकि आपको ODBC या JDBC और ड्राइवरों को संभालना नहीं पड़ता है 3) ASP उस समय लिनक्स (सस्ते होस्टिंग) पर आसान और व्यापक नहीं था। 4) यह स्थिर टाइपिंग वाला जावा एक शुरुआत के लिए शुरू करने के लिए थोड़ा कठिन है।
जोनास

1
@ जोनास, आप ज्यादातर मेरी बात को मजबूत कर रहे हैं: 1) यह एकमात्र सभ्य वेब भाषा थी, इसलिए सही जगह, सही समय। 3) LAMP, यही मेरी पोस्ट है। इसके अलावा, इसे आसानी से लें, मैं यह नहीं कह रहा हूं कि पीएचपी खराब है मैं सिर्फ इतना कह रहा हूं कि यह लोकप्रिय क्यों हुआ: इसने एक शून्य भर दिया, बस।
एड्रियानो कारनेइरो

9
"के साथ शुरू करने के लिए आसान" है, मुझे लगता है, यह क्या शुरू किया। पर्ल मौजूद था, और पीएचपी कर सकता है सब कुछ कर सकता है। लेकिन PHP सिर्फ इतना था कि एक पूर्ण नौसिखिए के साथ शुरू करने के लिए बहुत आसान था । और मुझे संदेह है कि समुदाय नौसिखियों के लिए भी मित्रवत था। PHP ने VB को विंडोज प्रोग्रामिंग के लिए शून्य भर दिया - इतना आसान कि लोग अपने दम पर शुरू कर सकते हैं और वास्तव में कुछ बना सकते हैं।
ग्रैंडमास्टरबी

10

इसी कारण से MySQL इतना लोकप्रिय है: यह सही समय पर सही जगह पर था।

90 के दशक में लिनक्स सर्वर बूम के साथ, एलएएमपी प्लेटफॉर्म (लिनक्स-अपाचे-मायएसक्यूएल-पीएचपी) एक विश्वसनीय और सबसे महत्वपूर्ण, मुफ्त विकल्प के रूप में सामने आया।

एक साइड नोट के रूप में, समय पर MySQL ले लो। ये MySQL की दो गायब विशेषताएँ थीं (मेरे दिमाग में ऊपर से, और भी बहुत कुछ हो सकता है) बहुत पहले नहीं :

  • कोई ट्रिगर नहीं
  • नहीं पूरी तरह से एसिड शिकायत

एक DB जो एसीआईडी ​​(परमाणु-संगति-अलगाव-स्थायित्व) का अनुपालन नहीं करता था, वह इतना लोकप्रिय क्यों हो गया? PHP के रूप में एक ही जवाब: यह सही समय में सही जगह पर था।

आगे LAMP घटकों पर "सही जगह सही समय" के बारे में पढ़ना:


3
यदि "यह सही समय में सही जगह पर था" जवाब है, तो सी के साथ पर्ल और सीजीआई को समान लोकप्रियता दिखनी चाहिए।
जोनास

2
"कैसे एक DB है कि ACID शिकायत भी इतनी लोकप्रिय हो नहीं था?" - यह आसान है ... इसकी बस ज्यादातर लोगों के लिए महत्वपूर्ण नहीं थी। MySQL अधिकांश वेब उपयोगों के लिए पर्याप्त विश्वसनीय था । विश्वसनीय एक बैंक के लिए बहुत जल्दी? शायद ऩही। एक वेब फोरम के लिए? हाँ।
ग्रैंडमास्टरबी

मेरे पास एक सहयोगी था, चिल्लाएगा "लेकिन MySQL शायद ही RDBMS है!"। मुझे वह मनोरंजक लगता है। लोकप्रियता एक मज़ेदार चीज़ है। हम - सॉफ्टवेयर डेवलपर्स - ट्रेंड के गुलाम नहीं होने चाहिए, हमें काम करते रहना सीखना होगा। जो भी किसी तकनीक का बचाव करता है, उसे जाने देने की संभावना कम होती है। और वह हमेशा पेशेवर रूप से खतरनाक है। यह विषय मेरे लिए खत्म हो गया है। :)
एड्रियानो कारनेइरो

8

यदि आप चारों ओर देखें, तो इन दिनों PHP चलाने वाले अधिकांश लोग Wordpress, Drupal, Joomla और like चला रहे हैं। या 10,000 मुफ़्त में से एक, लोकप्रिय ऐप जो सस्ते PHP होस्ट और थोड़े कॉन्फ़िगरेशन के साथ बॉक्स से बाहर काम करते हैं। कई बार यह स्थापित हो जाता है क्योंकि कोई भी ऐसा कुछ नहीं बना रहा है जो PHP पर चलता है क्योंकि सबसे आसान विकल्प PHP पर निर्मित कुछ का उपयोग करना है।


7

मैं अभी खुद को PHP सिखा रहा हूं, इसलिए शायद मैं जवाब दे सकूं।

एक PHP स्रोत कोड फ़ाइल में HTML, जावास्क्रिप्ट और PHP का मिश्रण हो सकता है, इसलिए यह सरल वेब अनुप्रयोगों को ऊपर और चलाने के लिए वास्तव में आसान लगता है। अधिक जटिल इंटरैक्शन, जिसमें एक JSP स्थिति में बहुत सारे जावा की आवश्यकता होती है, या एक सीजीआई-बीआईएन स्थिति में कुछ अजीब अंतर्विरोधों को PHP बिल्डरों द्वारा पूरा किया जाता है: आपको यह भी पता नहीं है कि क्या HTTP GET या POST को कॉल किया गया है कोड, वह सब कुछ जो आपका कोड _REQUEST या _SERVER या _COOKIE वैश्विक चर में जीवन को जानना चाहता है।

PHP-a-langauage पार्स हो जाता है और बहुत तेज़ी से निष्पादित होता है, ताकि आप HTML उत्पन्न करते समय एक विशाल प्रदर्शन ड्रॉप को नोटिस न करें, बल्कि केवल स्थिर HTML फ़ाइलों का एक गुच्छा हो।

पीएचपी-इन-इंटरप्रेटर में हर खुले स्रोत डीबीएमएस के बारे में लाइब्रेरी कॉल है, और बहुत सारे स्वामित्व वाले भी हैं, इसलिए 3-स्तरीय शैली वाला वेब ऐप बनाना आसान है। PHP- इंटर-दुभाषिया में बहुत सी अन्य कॉमन्स स्थितियों के लिए पुस्तकालय कॉल (उर्फ "उपयोग के मामले") शामिल हैं, इसलिए आपको बहुत सारे कोड स्वयं लिखने की ज़रूरत नहीं है, बस पुस्तकालय को कॉल करें। इसलिए, J2EE "एंटरप्राइज ऐप्स" की तरह, समस्या यह जानने के लिए है कि कैसे लाइब्रेरी सामान को देखने के लिए कोड जानने के लिए कोड से ले जाया जाए। यह बहुत सभ्य php.net PHP मैनुअल द्वारा सहायता प्राप्त है।

प्रोग्रामिंग भाषा के रूप में, PHP में बहुत सारे विदेशी निर्माण नहीं हैं, या C, FORTRAN 4 या पास्कल से बहुत अधिक भिन्न हैं, इसलिए प्रोग्रामर जो पहले से ही एक भाषा जानते हैं, आसानी से PHP-the-programming भाषा चुन सकते हैं।


3

PHP की सफलता के लिए दो प्रमुख बिंदु हैं: साझा होस्टिंग पर समय और ध्यान।

शुरुआत में वेब स्थिर था। वेब-सर्वर केवल पूर्व-निर्मित HTML वितरित कर सकते हैं यह स्पष्ट रूप से कुछ समय के बाद पर्याप्त नहीं था, इसलिए 1993 में NCSA टीम ने अपने वेब सर्वर (Apache httpd के पूर्ववर्ती) को CGI नामक एक तकनीक के साथ बढ़ाया जिसने वेब सर्वर से विशिष्ट कार्यक्रमों को कॉल करने की अनुमति दी। जो मक्खी पर HTML (या अन्य सामग्री) उत्पन्न कर सकता है। यह बहुत अच्छा था क्योंकि लोग सभी चीजें कर सकते थे। उस उद्देश्य के लिए उस समय आमतौर पर इस्तेमाल की जाने वाली भाषा पर्ल थी। पर्ल टेक्स्ट प्रोसेसिंग में एक भाषा मजबूत है जो HTTP अनुरोध डेटा को संभालने और HTML के निर्माण के लिए एक महत्वपूर्ण संपत्ति है। इसलिए लोगों ने इसका इस्तेमाल किया।

लेकिन एक समस्या थी: प्रत्येक अनुरोध के लिए वेब सर्वर को एक बाहरी कार्यक्रम चलाना पड़ता था, पर्ल को स्क्रिप्ट को आरंभ करना और चलाना पड़ता था। इससे काफी सिरदर्द हुआ। एक समाधान था mod_perl ca. 1997. mod_perl अपाचे वेबसर्वर के लिए एक मॉड्यूल है जो पर्ल सर्वर को सीधे वेब सर्वर प्रक्रिया में एम्बेड करता है, इसलिए किसी अतिरिक्त स्टार्टअप की आवश्यकता नहीं थी।

लेकिन फिर से इस दृष्टिकोण में एक समस्या थी: mod_perl बेहद शक्तिशाली था और संपूर्ण सर्वर कॉन्फ़िगरेशन तक पहुंच थी। आप कई स्वतंत्र ग्राहकों को होस्ट करने के लिए एक सर्वर का उपयोग नहीं कर सकते थे क्योंकि वे अन्य लोगों को आसानी से नुकसान पहुंचा सकते थे - यह उद्देश्य या दुर्घटना से हो सकता है। और यहीं से PHP आई।

PHP इस तरह से बनाया गया था कि यह अपाचे मॉड्यूल के रूप में चल सकता है (इस प्रकार प्रत्येक अनुरोध के लिए स्टार्टअप हिट नहीं है), लेकिन अनुरोधों के बीच साझा-साझा वातावरण प्रदान करता है। एक बार एक अनुरोध किया गया था सभी जानकारी खो गया था और बाद में एक और आभासी मेजबान के लिए अनुरोध स्वतंत्र रूप से सेवा की जाएगी। PHP ने एक्सेस (safe_mode, open_base_dir) को प्रतिबंधित करने के लिए सुविधाओं की पेशकश की। उस वास्तु पसंद के साथ कंपनियां अपने सर्वर पर PHP स्थापित कर सकती हैं और ग्राहकों को अपनी फ़ाइलों को अपलोड करने के लिए एफ़टीपी (या समान) पहुंच प्रदान कर सकती हैं और इसके द्वारा कई ग्राहकों को बिना किसी काम के एक ही मशीन पर होस्ट कर सकती हैं। इससे PHP-आधारित होस्टिंग के लिए सस्ते दामों के लिए एक प्रतियोगिता हो गई जिससे PHP एक सर्वव्यापी मंच बन गया।

इसके अतिरिक्त, पर्ल का पर्ल पर कुछ लाभ था, जैसे HTML और PHP कोड को मिक्स करने या वेरिएबल्स का अनुरोध करने के लिए सीधी पहुँच (यह भी देखें register_globals) जो पर्ल में कठिन था (CGI.pm पर कस्टम पार्सिंग या निर्भरता)।

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

अन्य भाषाओं के बारे में क्या? सी या सी ++ जैसी संकलित भाषाओं को कभी कर्षण नहीं मिला क्योंकि स्क्रिप्टिंग तेजी से विकासशील बाजार को बेहतर ढंग से पेश करता है। जावा अस्तित्व में था, लेकिन जावा वर्चुअल मशीनों को अधिक संसाधनों की आवश्यकता थी और PHP का समर्थन करने के तरीके में साझा होस्टिंग शायद ही संभव थी। हार्डवेयर में निवेश अधिक था। ASP (ASP.Net के पूर्ववर्ती के रूप में) Windows प्लेटफ़ॉर्म से बँधा हुआ था, जो इसे उन संगठनों तक सीमित कर रहा था जो पहले से ही विंडोज़ चलाते हैं और जिन्हें लाइसेंस की लागत का डर नहीं है, और फिर से कोई साझा होस्टिंग समर्थन नहीं है।

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


1

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

इसलिए मुझे लगता है कि PHP प्रोग्रामर के एक समूह और सर्वर के रूप में एक छोटे कंप्यूटर के साथ कुछ पैसे तेजी से बनाने का एक शानदार तरीका है।

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