नॉलेजबेस · PHP
"500 Internal Server Error" को कैसे ठीक करें
अंतिम अपडेट 2025-06-08
समस्या: 500 Internal Server Error
यह त्रुटि तब आती देखी गई है जब ग्राहक अपनी स्क्रिप्ट हमारे सर्वर पर माइग्रेट करते हैं। ग्राहक कोई PHP स्क्रिप्ट इंस्टॉल करने का प्रयास करता है (जैसे Drupal, Magento, Moodle, WordPress, Concrete5 आदि) स्रोतों से या mod_php के साथ LAMP के किसी पिछले इंस्टॉलेशन से। IndicHosts सर्वर पर इंस्टॉलेशन का परीक्षण करने पर वेब ब्राउज़र में '500 Internal Server Error" त्रुटि दिखाई देती है।
इस समस्या के सामान्य कारण ये हैं:
- डायरेक्टरी और फ़ाइल की अनुमतियाँ
- डायरेक्टरी और फ़ाइल का स्वामित्व
- .htaccess में दिए गए निर्देश, जैसे php_value या php_flag
कारण और पृष्ठभूमि: चूँकि हमारा सर्वर suPHP के साथ Apache चलाता है और mod_php का उपयोग नहीं करता, इसलिए PHP स्क्रिप्ट 'apache' या 'nobody' के बजाय 'username' के रूप में चलाई जाती हैं। इसलिए आपकी सभी स्क्रिप्ट फ़ाइलों और सबडायरेक्टरी का स्वामित्व यूज़रनेम के पास होना आवश्यक है। इसके अलावा, अधिकांश स्क्रिप्ट के दस्तावेज़ मुख्य रूप से बुनियादी LAMP (Linux, Apache, MySQL, PHP) और mod_php डिप्लॉयमेंट पर केंद्रित होते हैं। स्क्रिप्ट के दस्तावेज़ सुझाव देते हैं कि कुछ डायरेक्टरी और फ़ाइलें सभी के लिए लिखने योग्य (world writable) सेट की जाएँ (यानी 777 या 666।)। अक्सर PHP फ़ाइलें, सोर्स आर्काइव के हिस्से के रूप में, 777 या 775 की एक्ज़ीक्यूटेबल अनुमतियों के साथ वितरित की जाती हैं।
IndicHosts सर्वर पर आपके पास कोई भी world writable फ़ाइल या डायरेक्टरी नहीं होनी चाहिए (0777, 0666, 0770, 0660 आदि परमिशन स्तरों के साथ). हमारी PHP स्क्रिप्ट फ़ाइलें (.php) एक्ज़ीक्यूटेबल नहीं होनी चाहिए (0755 जैसे परमिशन स्तर के साथ) भले ही आधिकारिक स्क्रिप्ट दस्तावेज़ में इसकी सलाह दी गई हो। IndicHosts के सर्वर पर PHP स्क्रिप्ट के लिए यह एक अनिवार्य सुरक्षा आवश्यकता है।
इसलिए, IndicHosts.net सर्वर पर 500 Internal Server Error को ठीक करने के लिए आपको निम्नलिखित करना होगा:
- सभी डायरेक्टरी और सब-डायरेक्टरी को इस पर सेट किया जाना चाहिए परमिशन level of 0755. You can correct this using FTP or by running this command in cPanel >> Terminal
chmod 755 directory - डायरेक्टरी और सब-डायरेक्टरी की सभी फ़ाइलों को इस पर सेट किया जाना चाहिए परमिशन level of 0644. You can correct this using FTP or by running this command in cPanel >> Terminal
chmod 644 filename.php - अपनी .htaccess फ़ाइल में मौजूद किसी भी php_value या php_flag डायरेक्टिव को जाँचें और हटाएँ। (उस पंक्ति को हटाकर या उसके आगे # लगाकर उसे कमेंट आउट करके)
- फ़ाइलों और डायरेक्टरी का स्वामित्व उसी यूज़र के पास होना चाहिए जिसकी वे हैं। यदि यूज़रनेम ‘robert’ है, तो फ़ाइलों का ओनर और ग्रुप इस प्रकार होना चाहिए
robert:robert. You can fix this by running this command in cPanel >> Terminal >> (If आपके पास टर्मिनल सक्षम नहीं है, तो टिकट बनाएँ और हमसे अपने डोमेन पर टर्मिनल सक्षम करने का अनुरोध करें)chown username:username directorychown username:username filename.php - गलत PHP वर्शन दिखाता है "HTTP Error 500" Google Chrome पर। कभी-कभी डोमेन पर सक्षम PHP वर्शन स्क्रिप्ट की आवश्यकताओं को पूरा नहीं करता। PHP का वर्शन बदलने के लिए आप cPanel में PHP Selector या MultiPHP Manager का उपयोग कर सकते हैं। हम अपने ग्राहकों को उनके डोमेन के लिए चुनने हेतु PHP के 4.4 से 8.1 तक के वर्शन उपलब्ध कराते हैं।
- ModSecurity ब्लॉक होने पर यह दिखता है "HTTP Error 500" in Google Chrome. Please navigate to cPanel >> ModSecurity and disable ModSecurity on the domain. If the error goes away, raise a ticket with Technical Support, asking them for the ModSecurity rule that caused the exception, then contact the script developer and ask them to fix their script.
- स्क्रिप्ट का दस्तावेज़ देखें और सुनिश्चित करें कि PHP एनवायरनमेंट इन आवश्यकताओं को पूरा करता है स्क्रिप्ट की न्यूनतम आवश्यकताएँ (PHP एक्सटेंशन, विकल्प और वेरिएबल सक्षम हैं). IndicHosts पर प्रति-डोमेन या प्रति-डायरेक्टरी आधार पर PHP एनवायरनमेंट सेट करने का तरीका जानने के लिए हमारा यह लेख पढ़ें PHP सेटअप How-To लेख. (नोट: यदि आपको किसी भी समय लगे कि स्क्रिप्ट की आवश्यकताएँ यहाँ दिए गए हमारे सेटअप लेख से मेल नहीं खातीं, तो आगे कैसे बढ़ना है, इसकी जानकारी के लिए कृपया हमसे संपर्क करें।)
उपरोक्त समस्या को ठीक करने के बाद, स्क्रिप्ट का URL रिफ्रेश करें। यदि त्रुटि बनी रहती है, तो कृपया स्क्रिप्ट की जानकारी के साथ एक टिकट बनाएँ।
सुझाव: स्क्रिप्ट डायरेक्टरी में मौजूद error_log फ़ाइल 500 internal server error के पीछे की सटीक PHP त्रुटि दिखाती है
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.