2011-05-23 4 views
15

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

पहला बेवकूफ प्रयास: बस PHP स्क्रिप्ट को वेब साइट पर फेंक दें, और उन्हें ब्राउज़र में लोड करें। परिणाम निम्न सुझावों के साथ एक HTTP Error 404.21 - Not Found है:

  • पीएचपी स्थापित करें और संचालकों को ठीक से कॉन्फ़िगर।
  • इस वेबसाइट के लिए PHP इंस्टॉल और सक्षम करें।
  • यदि आप वेबमैट्रिक्स का उपयोग कर रहे हैं, तो PHP:
    • वेबमैट्रिक्स में वेब साइट खोलने के लिए इन चरणों का पालन करें।
    • साइट वर्कस्पेस का चयन करें और सेटिंग्स पर क्लिक करें।
    • PHP स्थापित करने और सक्षम करने के लिए "PHP सक्षम करें" चेकबॉक्स को चेक करें।

WebMatrix का उपयोग नहीं, यह मेरी मदद करने के लिए कुछ नहीं करता है। मैं फिर Google पर आईआईएस एक्सप्रेस और PHP से संबंधित किसी भी चीज का गहरा ट्रैवल करने के लिए आगे बढ़ता हूं। जो मैंने पढ़ा है, उससे यह करने योग्य होना चाहिए, लेकिन इस विषय के बारे में मुझे जो कुछ भी मिलता है, वह यह मानता है कि मेरा आईडीई वेबमैट्रिक्स है। यह नहीं है

क्या किसी को पता है कि आईआईएस एक्सप्रेस पर स्थापित करना संभव है और इसे विजुअल स्टूडियो आधारित वेबसाइट के साथ काम करने के लिए कॉन्फ़िगर किया गया है, बिना WebMatrix इंस्टॉल किए? यदि हां, तो कैसे?

उत्तर

21

आईआईएस एक्सप्रेस वेब मैट्रिक्स के बिना PHP का समर्थन करता है। आप केवल आईआईएस एक्सप्रेस को अकेले इंस्टॉल कर सकते हैं और इसे विजुअल स्टूडियो के साथ काम कर सकते हैं। इसके लिए आपको विजुअल स्टूडियो 2010 एसपी 1 की आवश्यकता है।

  1. डाउनलोड आईआईएस एक्सप्रेस इस लिंक से: Internet Information Services (IIS) 7.5 Express

  2. दृश्य स्टूडियो में आईआईएस एक्सप्रेस का उपयोग करने के लिए अपनी वेबसाइट/WebApplication परियोजना कॉन्फ़िगर करें। इस धागे पर एक नज़र डालें How do I configure a website project to use IIS Express?

  3. आईआईएस एक्सप्रेस पर PHP सक्षम करने के लिए, PHP स्थापित करें और applicationhost.config (% userprofile% \ दस्तावेज़ \ iisexpress \ config \ applicationhost.config) अद्यतन करें। आप ऐसा करने के लिए आईआईएस एक्सप्रेस स्थापना फ़ोल्डर में स्थित appcmd.exe के संस्करण का उपयोग कर सकते हैं। विवरण के लिए this link देखें।

सब कुछ Windows के अमेरिका अंग्रेजी संस्करण के लिए डिफ़ॉल्ट स्थानों में स्थापित है आदेशों होगा:

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config /section:system.webServer/fastCGI /+[fullPath='"C:\Program Files (x86)\PHP\php-cgi.exe"'] 
"C:\Program Files (x86)\IIS Express\appcmd.exe" set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='"C:\Program Files (x86)\PHP\php-cgi.exe"',resourceType='Unspecified'] 

ध्यान दें कि अगर वहाँ php-cgi.exe का पूरा पथ में रिक्त स्थान हैं, आपको उपरोक्त उदाहरण में एकल और डबल कोट्स में पथ को संलग्न करना होगा।

अंत में, यदि आप VS 2010 SP1 की जरूरत नहीं है, शायद आप एक बार देख इस पोस्ट पर ले जाना चाहिए: Debug Your .NET Web Project With IIS Express

+0

लेकिन PHP के बारे में क्या? –

+3

आईआईएस एक्सप्रेस पर PHP सक्षम करने के लिए, PHP स्थापित करें और मैन्युअल रूप से applicationhost.config अद्यतन करें (% userprofile% \ दस्तावेज़ \ iisexpress \ config \ applicationhost.config)। आप ऐसा करने के लिए IIS एक्सप्रेस स्थापना फ़ोल्डर में स्थित appcmd.exe का उपयोग कर सकते हैं। निम्नलिखित लिंक आपको PHP http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-7/ को कॉन्फ़िगर करने में मदद करेगा (इस आईआईएस को कॉन्फ़िगर करें ' 7 कमांड लाइन का उपयोग कर PHP अनुरोधों को संभालने के लिए ') – vikomall

+0

यह अविश्वसनीय रूप से कमाल है कि आप IISExpress पर PHP चला सकते हैं! –

13

एक अन्य विकल्प वेब प्लेटफ़ॉर्म इंस्टॉलर का उपयोग करने के लिए है।

  • खुला वेब प्लेटफ़ॉर्म संस्थापक (http://go.microsoft.com/fwlink/?LinkId=255386 से डाउनलोड किया जा सकता है) आईआईएस एक्सप्रेस

  • क्लिक के लिए PHP के लिए

  • खोज स्थापित

वेब प्लेटफ़ॉर्म इंस्टालर पीएचपी स्थापित हो जाएगा और आपके लिए आईआईएस एक्सप्रेस कॉन्फ़िगर करें।

+1

वेब प्लेटफ़ॉर्म इंस्टॉल 5.0 के साथ सुपर आसान। धन्यवाद – TetraDev

2

आप दृश्य स्टूडियो के माध्यम से आईआईएस चल रहे हैं, तो आप .vs \ config \ ApplicationHost.config php हैंडलर के साथ अपने समाधान निर्देशिका में विजुअल स्टूडियो के

2

नए संस्करणों की एक अलग प्रतिलिपि बनाए रखने के आईआईएस एक्सप्रेस के अद्यतन करने की आवश्यकता विन्यास फाइल "applicationhost.config"। ऑनलाइन निर्देशों में से अधिकांश आपको दिखाते हैं कि मास्टर applicationhost.config फ़ाइल को कैसे लक्षित किया जाए, जिसका कोई प्रभाव नहीं पड़ता क्योंकि VS2017 एक अलग प्रतिलिपि बनाए रखता है और आईआईएस एक्सप्रेस शुरू करते समय इस प्रति का उपयोग करता है। इस परिदृश्य में PHP को सक्षम करने के लिए, मुझे वीएस2017 की निजी प्रतिलिपि संपादित करना पड़ा।

  • पूर्वापेक्षाएँ - PHP स्थापित करने के लिए वेब प्लेटफ़ॉर्म इंस्टॉलर का उपयोग करें। (आपको आईआईएस एक्सप्रेस के लिए एक की आवश्यकता नहीं है, केवल नियमित PHP डाउनलोड।) आप x86 या x64 का उपयोग कर सकते हैं। यह PHP को या तो C: \ Program Files \ या C: \ Program Files (x86) \ में स्थापित करेगा जिसे आप चुनते हैं। आप बस अपनी वेबसाइट से PHP पकड़ सकते हैं।

  • अपनी परियोजना के applicationhost.config का पता लगाएं। यह एक छिपे हुए .vs सबफ़ोल्डर में स्थित है। उदाहरण के लिए सी: \ MyProject \ .vs \ applicationhost.config

  • कमांड विंडो से निम्न आदेश चलाएं, प्रोजेक्ट फ़ोल्डर और आपके द्वारा स्थापित PHP बाइनरी के लिए अपने पथ को प्रतिस्थापित करें।

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config /section:system.webServer/fastCGI /+[fullPath='"C:\Program Files (x86)\PHP\{{YOUR PHP VERSION}}\php-cgi.exe"'] /apphostconfig:"C:\{{YOUR PROJECT}}\.vs\config\applicationhost.config" 
"C:\Program Files (x86)\IIS Express\appcmd.exe" set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='"C:\Program Files (x86)\PHP\{{YOUR PHP VERSION}}\php-cgi.exe"',resourceType='Unspecified'] /apphostconfig:"C:\{{YOUR PROJECT}}\.vs\config\applicationhost.config" 

वैकल्पिक रूप से, आप बस एक पाठ संपादक में परियोजना की ApplicationHost.config संपादित करें और निम्न अनुभागों में जोड़ सकते हैं।

system.webServer/FastCGI

<fastCgi> 
    <application fullPath="C:\Program Files (x86)\PHP\v7.1\php-cgi.exe" /> 
</fastCgi> 

system.webServer/संचालकों

<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v7.1\php-cgi.exe" resourceType="Unspecified" /> 

स्पष्ट है कि, संपादन आईआईएस एक्सप्रेस \ AppServer \ ApplicationHost.config या में एक आपका% appdata% फ़ोल्डर तब तक मदद नहीं करेगा जब तक कि आप विजुअल स्टूडियो के बाहर आईआईएस एक्सप्रेस शुरू करने जैसे कुछ उन्नत नहीं कर रहे हैं।