जब आप एक ही xampp स्थापना के साथ एक ही समय में कई PHP संस्करण का उपयोग कर सकते हैं तो PHP संस्करणों के बीच स्विच क्यों करें ? एक एकल xampp स्थापना के साथ, आपके पास 2 विकल्प हैं:
अपने पुराने प्रोजेक्ट की केवल निर्देशिका के लिए एक पुराना PHP संस्करण चलाएं:
यह अधिकांश समय उद्देश्य को पूरा करेगा, आपके पास एक या दो पुरानी परियोजनाएँ हो सकती हैं जिन्हें आप पुराने PHP संस्करण के साथ चलाने का इरादा रखते हैं। केवल उन प्रोजेक्ट निर्देशिकाओं के लिए पुराने PHP संस्करण को चलाने के लिए xampp कॉन्फ़िगर करें।
एक पुराने PHP संस्करण को xampp के एक अलग बंदरगाह पर चलाएं: कभी-कभी आप नए PHP संस्करण पर उसी परियोजना को चलाने के लिए उन्नत और पुराने प्रोजेक्ट को ले सकते हैं, जब आपको नए और पुराने PHP संस्करण पर आगे और पीछे एक ही प्रोजेक्ट चलाना हो। तब आप एक भिन्न पोर्ट पर एक पुराना PHP संस्करण (जैसे कि 8056) सेट कर सकते हैं ताकि जब आप http://localhost/any_project/
xampp पर जाएँ तो PHP 7 चले और जब आप http://localhost:8056/any_project/
xampp पर जाएँ तो PHP 5.6 चलता है।
वर्चुअलहोस्ट पर पुराने PHP संस्करण को चलाएं: आप PHP 5.6 को चलाने के लिए लोकलहोस्ट 56 की तरह एक वर्चुअलहोस्ट बना सकते हैं, जबकि आप लोकलहोस्ट के लिए PHP 7 का उपयोग कर सकते हैं।
इसे सेट करें।
चरण 1: PHP डाउनलोड करें
तो आपके पास PHP 7 xampp के तहत चल रहा है, आप इसे एक पुराने PHP संस्करण को जोड़ना चाहते हैं, PHP 5.6 कहते हैं। एनटीएस (गैर धागा सुरक्षित) से पीएचपी ज़िप संग्रह के संस्करण को डाउनलोड करें php.net (देखें संग्रह पुराने संस्करणों के लिए) और के तहत फ़ाइलों को अलगc:\xampp\php56
। थ्रेड सेफ वर्जन में php-cgi.exe शामिल नहीं है।
चरण 2: कॉन्फ़िगर करेंphp.ini
c:\xampp\php56\php.ini
नोटपैड में फ़ाइल खोलें । फ़ाइल प्रतिलिपि मौजूद नहीं है php.ini-development
के लिए php.ini
और नोटपैड में खोलें। फिर निम्नलिखित लाइन को अनइंस्टॉल करें:
extension_dir = "ext"
चरण 3: अपाचे को कॉन्फ़िगर करें
Xampp नियंत्रण कक्ष खोलें, अपाचे के लिए विन्यास बटन पर क्लिक करें और क्लिक करें Apache (httpd-xampp.conf)
। एक टेक्स्ट फ़ाइल खुल जाएगी, जो फ़ाइल के निचले भाग में निम्नलिखित सेटिंग्स डाल देगी:
ScriptAlias /php56 "C:/xampp/php56"
Action application/x-httpd-php56-cgi /php56/php-cgi.exe
<Directory "C:/xampp/php56">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
नोट: यदि आप चाहते हैं तो चरण 1 से 3 के बाद आप अपने xampp इंस्टॉलेशन में PHP के और संस्करण जोड़ सकते हैं।
चरण 4 (विकल्प 1): [विशिष्ट PHP संस्करण चलाने के लिए निर्देशिकाएँ जोड़ें]
अब आप उन निर्देशिकाओं को सेट कर सकते हैं जो PHP 5.6 में चलेंगी। निर्देशिकाओं को सेट करने के लिए बस कॉन्फ़िगर फ़ाइल के निचले भाग पर निम्न जोड़ें।
<Directory "C:\xampp\htdocs\my_old_project1">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
<Directory "C:\xampp\htdocs\my_old_project2">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
चरण 4 (विकल्प 2): [अलग बंदरगाह पर पुराने PHP संस्करण चलाएं]
अब PHP v5.6 को पोर्ट 8056 में सेट करने के लिए निम्नलिखित कोड को कॉन्फिगर फाइल के निचले हिस्से में जोड़ें।
Listen 8056
<VirtualHost *:8056>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
चरण 4 (विकल्प 3): [वर्चुअलाइजेशन पर एक पुराने PHP संस्करण को चलाएं]
एक निर्देशिका (htdocs56) पर एक वर्चुअलहोस्ट (लोकलहोस्ट 56) बनाने के लिए http: // localhost56 पर PHP v5.6 का उपयोग करने के लिए , अपने इच्छित स्थान पर निर्देशिका htdocs56 बनाएं और अपनी होस्ट फ़ाइल में लोकलहोस्ट 56 को जोड़ें ( देखें कैसे ), फिर निम्न कोड जोड़ें httpd-xampp.conf फ़ाइल के नीचे।
<VirtualHost localhost56:80>
DocumentRoot "C:\xampp\htdocs56"
ServerName localhost56
<Directory "C:\xampp\htdocs56">
Require all granted
</Directory>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
समाप्त करें: अपाचे को सहेजें और पुनः प्रारंभ करें
कॉन्फ़िगरेशन फ़ाइल को सहेजें और बंद करें, xampp नियंत्रण कक्ष से अपाचे को पुनरारंभ करें। यदि आप विकल्प 2 के लिए गए थे, तो आप अपने xampp नियंत्रण कक्ष में सूचीबद्ध अतिरिक्त पोर्ट (8056) देख सकते हैं।
त्रुटि के लिए अद्यतन:
स्क्रिप्ट 'php-cgi.exe' से विकृत हेडर: खराब हेडर
यदि आप उपरोक्त त्रुटि का सामना करते हैं, तो httpd-xampp.conf
फिर से खोलें और एक अग्रणी # (हैश चरित्र) के साथ निम्नलिखित पंक्ति पर टिप्पणी करें।
SetEnv PHPRC "\\path\\to\\xampp\\php"