2013-01-24 30 views
5

यह एक प्रोग्राम है जो एक वेबसर्वर के माध्यम से स्क्रिप्ट के साथ इंटरफेस नहीं करता है PHP कोड निष्पादित करने के लिए संभव है? प्रारंभ में, मैंने सीएलआई PHP दुभाषिया के बारे में सोचा था, लेकिन इसमें वेबसाइट अनुरोधों के लिए $ _SERVER या $ _REQUEST वैराइबल्स शामिल नहीं हैं।वेबसर्वर "पर्यावरण" में पीएचपी निष्पादित अपाचे (या अन्य वेब सर्वर) के बिना

तो, अगर यह अनुकरण करने के लिए संभव है, कैसे accumplised जा सकता है? मैं किसी भी विशिष्ट प्रोग्रामिंग भाषा में नहीं सोच रहा हूं क्योंकि मुझे यकीन है कि वेबसर्वर और PHP के बीच कुछ सामान्य इंटरफ़ेस है जो प्लेटफार्म स्वतंत्र होगा।

इस प्रश्न का उद्देश्य एक नोड.जेएस अनुप्रयोग बनाना है जो एक वेबसर्वर के रूप में opperate कर सकते हैं, फिर (जब आवश्यक हो) PHP स्क्रिप्ट (विशिष्ट इनपुट के साथ) निष्पादित कर सकते हैं, प्रतिक्रिया प्राप्त कर सकते हैं, तो अगर कुछ अतिरिक्त प्रसंस्करण की आवश्यकता है आउटपुट, फिर इसे क्लाइंट को लिखें।

उत्तर

3

जब तक आप Node.js के लिए एक PHP मॉड्यूल का निर्माण करना चाहते, मुझे लगता है कि CLI अपने ही विकल्प है - आप कमांड लाइन के माध्यम से आवश्यक चर गुजर सकता है, और मैं कुछ भी नहीं उन्हें स्क्रिप्ट के अंदर के पुनर्निर्माण के खिलाफ बोलता है लगता है:

php -f myscript.php /websites/myscript domain.com 1.2.3.4.5 

अब, आदर्श तरीका इन तर्कों को लेना होगा और उन्हें उन चरों में लिखना होगा जिन्हें आप अपनी स्क्रिप्ट में उपयोग करते हैं।

यदि आपके पास मौजूदा स्क्रिप्ट है जो $_SERVER का उपयोग करती है, और इसे फिर से लिखने के माध्यम से नहीं जाना चाहती है, तो यह एक कामकाजी अभी तक सुरुचिपूर्ण कामकाज होगा। (असजीला क्योंकि आप सामान्य रूप से $_SERVER, $_GET और पसंद में लिखने के लिए नहीं करना पड़ेगा।)

$_SERVER["REQUEST_URI"] = $argv[1]; 
$_SERVER["SERVER_NAME"] = $argv[2]; 
$_SERVER["REMOTE_ADDR"] = $argv[3]; 

CLI: Command line usage

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

+0

मैं सोच रहा था कि मैंने उपयोग किया सीएलआई विधि, मुझे तर्कों के माध्यम से डेटा और पार्स को क्रमबद्ध करना होगा, या memcache जैसे कुछ का उपयोग करना होगा। लेकिन मुझे लगता है कि मुझे एक मॉड्यूल बनाना होगा, लेकिन यदि कोई अच्छा सीजीआई नोड मॉड्यूल उपलब्ध है, तो मैं इसका उपयोग करूंगा (या अगर यह आसान लग रहा है तो कोड स्वयं) – topherg

+0

@cgoddard हाँ। हो सकता है कि कोई मॉड्यूल-आधारित समाधान के साथ आता है, जो * सबसे अच्छा तरीका होगा .. हालांकि मुझे लगता है कि –

+0

पर मेमकेचे के खिलाफ कुछ भी नहीं बोलता है, आपको बस अपनी इच्छित डेटा सूची की आवश्यकता नहीं है। सीजीआई PHP के साथ वेबसर्वर (अपाचे की तरह) इंटरफेस कैसे है? – topherg

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

  • कोई संबंधित समस्या नहीं^_^