2012-12-27 7 views
6

संभव डुप्लिकेट:
I never really understood: what is CGI?PHP HTTP सर्वर से कैसे इंटरैक्ट करता है? (Lighttpd की तरह)

lighttpd config में, हम दो रास्ते (नीचे के रूप में दिखाया गया है) को परिभाषित, उनमें से एक PHP के द्विआधारी, अन्य है सॉकेट पथ है। मेरा सवाल यह है कि, lighttpd PHP द्वारा बनाए गए अंतिम HTML आउटपुट को किस बिंदु पर लाता है? क्या बाइनरी प्रतिक्रिया के रूप में lighttpd को आउटपुट देता है? या यह किसी अन्य स्थान पर एक अस्थायी फ़ाइल बनाता है और सर्वर इसे प्राप्त करता है?

fastcgi.server = (".php" => ((
        "bin-path" => "/usr/bin/php-cgi", 
        "socket" => "/tmp/php.socket" 
       ))) 
+0

आमतौर पर पाइप्स (देखें [CGI] (http://en.wikipedia.org/wiki/Common_Gateway_Interface))। लेकिन चूंकि यह कॉन्फ़िगरेशन सॉकेट निर्दिष्ट करता है, इसलिए आप संभवतः फास्टसीजीआई बाइनरी का उपयोग कर रहे हैं। – mario

+1

डुप्लिकेट नहीं; कॉन्फ़िगर स्निपेट फास्टसीजीआई के बारे में है, सीजीआई नहीं। बिन-पथ का मतलब है कि हल्के से बैकएंड (बाहरी रूप से फैलाने का विरोध) होगा, सॉकेट "यूनिक्स सॉकेट" (नामित पाइप, वास्तविक सॉकेट नहीं) का मार्ग है। प्रत्येक अनुरोध के लिए हल्का इस सॉकेट से कनेक्ट होगा, वैसे ही एक ब्राउज़र वेबसर्वर से कनेक्ट होगा - लेकिन यह विवरण के लिए एक अलग प्रोटोकॉल का उपयोग करता है। – Stefan

+0

क्या आप "डुप्लिकेट" कथन को हटा देंगे, क्योंकि यह प्रश्न डुप्लिकेट नहीं है। – tolga

उत्तर

1

PHP सीजीआई बाइनरी के रूप में या अपाचे मॉड्यूल के रूप में चलाया जा सकता है। एक CGI बाइनरी के रूप में उपयोग किए जाने पर, HTTP सर्वर pipes या named pipes के माध्यम से PHP के साथ संवाद करेगा। ये stdout का उपयोग कर सकते हैं जो इंटरप्रोसेस संचार का एक रूप है जिसे किसी डिस्क एक्सेस की आवश्यकता नहीं होती है। यदि अपाचे मॉड्यूल के रूप में चलाया जाता है, तो PHP प्रभावी ढंग से अपाचे सर्वर का हिस्सा होता है। यह एक सीजीआई के रूप में निष्पादित होने से काफी तेज है, लेकिन इसमें कुछ सुरक्षा सीमाएं हैं।

1

मेरी समझ से, bin-path FastCGI सर्वर की आग (अगर यह अभी तक शुरू नहीं किया गया है), जबकि socket प्रॉक्सी सर्वर एक बार शुरू में अनुरोध किया जाता है प्रयोग किया जाता है।

अनुरोध के संसाधित होने के बाद अंतिम HTML /tmp/php.socket से खींचा गया है; यह एक नेटवर्क सॉकेट के विपरीत एक नामित पाइप है लेकिन वे किसी भी अन्य सम्मान में काफी समान हैं।

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