2011-01-03 19 views
6

में चलते समय PHP कॉन्फ़िगरेशन को ओवरराइड करने के लिए यहां कुछ ट्यूटोरियल हैं जो मुझे बताते हैं कि सीजीआई मोड में चलने पर PHP कॉन्फ़िगरेशन को ओवरराइड कैसे करें। लेकिन मैं अभी भी उलझन में हूं क्योंकि उनमें से बहुत से मानते हैं कि सर्वर लिनक्स पर चल रहा है। जबकि मुझे विंडोज पर करने की आवश्यकता है।सीजीआई मोड

मेरी होस्टिंग वास्तव में लिनक्स का उपयोग कर रही है लेकिन मेरा स्थानीय विकास कंप्यूटर Xampp 1.7.3 के साथ विंडोज एक्सपी का उपयोग कर रहा है। इसलिए मुझे इसे अपने स्थानीय कंप्यूटर में पहले करने की ज़रूरत है, फिर मैं होस्टिंग सर्वर पर कॉन्फ़िगरेशन बदलना चाहता हूं।

मेरे होस्टिंग सर्वर में PHP पहले से ही CGI के रूप में चलाया जा रहा है जबकि मेरे स्थानीय कंप्यूटर में अभी भी अपाचे मॉड्यूल के रूप में चलाया जाता है।

इस बिंदु पर, प्रक्रियाओं है कि मैं समझता हूँ कि इस प्रकार हैं:

  1. पीएचपी बदलें सीजीआई मोड में काम करने के लिए। मैं "httpd-xampp.conf" में इन दो लाइन टिप्पणी करके ऐसा किया:

    # LoadFile "C:/xampp/php/php5ts.dll"
    # LoadModule php5_module modules/php5apache2_2.dll

  2. मेरे पीएचपी अब सीजीआई के रूप में चल रहा है। मैंने phpinfo() के साथ इसकी जांच की। यह मुझे बताता है कि सर्वर एपीआई अब सीजीआई/फास्टसीजीआई है। अब मैं PHP विन्यास को ओवरराइड करना चाहता हूं।

  3. DocumentRoot में "cgi-bin" निर्देशिका बनाएं। मेरा दस्तावेज़ रूट "डी: \ www \" में है (मैं वर्चुअल होस्ट के साथ अपाचे का उपयोग कर रहा हूं)। तो अब यह "डी: \ www \ cgi-bin" है।

  4. बदलें डिफ़ॉल्ट "cgi-bin" से निर्देशिका सेटिंग्स "C:/XAMPP/cgi-bin /" को "डी: \ www \ cgi-bin":

    ScriptAlias /cgi-bin/ "D:/www/cgi-bin/"

    <Directory "D:\www\cgi-bin"> 
        Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI 
        AllowOverride All 
        Allow from All 
    </Directory> 
    
  5. 'php.ini' फ़ाइल को "डी: \ www \ cgi-bin" पर कॉपी करें और 128M से 10M तक upload_max_filesize सेटिंग संशोधित करें।

  6. "डी: \ www \ cgi-bin" में 'php.cgi' फ़ाइल बनाएँ और फ़ाइल के अंदर इन कोड डाल:

    #!/bin/sh
    /usr/local/cpanel/cgi-sys/php5 -c /home/user/public_html/cgi-bin/

बस। मैं इस बिंदु पर अटक गया हूँ। सभी ट्यूटोरियल मुझे 'php.cgi' फ़ाइल बनाने के लिए बताते हैं और फ़ाइल के अंदर खोल कोड डालते हैं।

विंडोज़ पर 6 वां चरण कैसे करें? मुझे पता है कि अगला चरण 'php.cgi' लोड करने के लिए .htaccess फ़ाइल में हैंडलर बनाना है।

और यह भी, क्योंकि मुझे अपने होस्टिंग सर्वर (लिनक्स) पर PHP कॉन्फ़िगरेशन बदलने की भी आवश्यकता होगी, क्या ऊपर से 6 वां चरण सही है? कुछ ट्यूटोरियल ऊपर के बजाय इन पंक्तियों को सम्मिलित करने के लिए कहता है:

#!/bin/sh 
export PHPRC=/site/ini/1 
exec /cgi-bin/php5.cgi 

मैं माफी चाहता हूँ अगर मेरे सवाल का स्पष्ट नहीं है।मैं एक नया सदस्य हूं और यह इस साइट में मेरा पहला सवाल है।

धन्यवाद।

+0

क्या आपने इसे देखा? http://www.php.net/manual/en/install.windows.php#60737 – crnlx

+0

अच्छी तरह से लिखित प्रश्न। हालांकि बिंदु (2) में आप सबसे अधिक संभावना है कि एक सीजीआई दुभाषिया नहीं बल्कि PHP अपाचे मॉड्यूल स्थापित करें। इसलिए आगे सीजीआई सेटअप कदम अनावश्यक लगते हैं। Php.info को फिर से देखने की अपेक्षा करने के लिए phpinfo() को फिर से जांचें, और इसका उपयोग करें। आपकी सेटिंग्स तब तक नहीं उठाई जाती हैं जब तक कि आप अपाचे को पुनरारंभ नहीं करते (क्योंकि यह mod_php का उपयोग कर रहा है)। मुझे विंडोज़ उपयोग को तुरंत अस्वीकार करने दें .. – mario

+0

मुझे खेद है कि मुझे समझ में नहीं आ रहा है। क्या आप बिंदु (1) में मतलब है कि मैं पहले ही सीजीआई में काम करने के लिए PHP बदलता हूं, फिर बिंदु (2) में मैं अपाचे मॉड्यूल में बदल जाता हूं? –

उत्तर

1

यदि आपका सर्वर पहले से ही सीजीआई के रूप में PHP चला रहा है, और आपको एकाधिक PHP कॉन्फ़िगरेशन चलाने की आवश्यकता नहीं है, तो चरण 5 और 6 आवश्यक नहीं हैं। बस डिफ़ॉल्ट php.ini

+0

हाँ मुझे पता है कि हम डिफ़ॉल्ट php.ini फ़ाइल को सीधे संपादित कर सकते हैं। लेकिन हम सर्वर को होस्ट करने पर ऐसा नहीं कर सकते हैं। –

+0

होस्टिंग सर्वर पर PHP कॉन्फ़िगरेशन को प्रभावित करने के लिए कोई निश्चित-अग्नि तरीका नहीं है (मुझे लगता है कि आप किसी तृतीय-पक्ष होस्ट के बारे में बात कर रहे हैं।) कुछ होस्ट पूरी तरह से इसे रोकते हैं। अन्य आपको एक निश्चित स्थान पर अपनी php.ini फ़ाइल रखने की अनुमति देते हैं। अन्य .htaccess फ़ाइल के माध्यम से परिवर्तन की अनुमति दें, उदा। php_value upload_max_filesize 10M –

+0

हां Svemir। मैं तीसरे पक्ष के मेजबान का उपयोग कर रहा हूँ। दरअसल मैंने .htaccess में कुछ php विन्यास लिखा है। लेकिन यह काम नहीं करता है क्योंकि मेरा होस्टिंग सर्वर सीजीआई मोड में चलाने के लिए PHP सेट करता है। –

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