30 أبريل، 2017 نورس علي
الوسوم:Internal Server Error 500, توقف الموقع الإلكتروني عن العمل
1. التحقق من ملف HTAccess.
2. التحقق من صحة أذونات ملفات الموقع.
3. التحقق من عدم تداخل الإضافات (في حال استخدام برمجية إدارة محتوى).
4. التحقق من الإعدادات المُتعلّقة بــِ PHP
5. التحقق من ملفات PERL/CGI.
6. الحل النهائي ليس بيدك.
يتضمن ملف HTAccess.بعض إعدادات برنامج سيرفر/خادم الويب لمسارات الموقع الإلكتروني. أي خطأ في كتابة التعليمات البرمجية (الكود البرمجي) في ملف HTAccess. يؤثر سلباً على عمل السيرفر، وكما يؤدي ذلك إلى ظهور رسالة خطأ 500.
الآن علينا تحديد إذا كان مصدر الخطأ من ملف HTAccess.:
1. تغيير اسم ملف htaccess. الموجود في مسار PUBLIC_HTML. يمكنك تسميته بأي اسم تريد مثلاً: htaccessOld.
2. مسح التخزين المؤقت في المتصفح (الكاش).
3. إعادة تحديث صفحة الموقع الإلكتروني (انقر على زر إعادة تحميل أو اضغط على F5).
إذا اختفت رسالة الخطأ، هذا يعني أن سبب المشكلة هو خطأ في أحد التعليمات البرمجية في ملف htaccess.، قم بتصحيح ذلك الخطأ وأعد تسمية الملف إلى اسمه الصحيح htaccess.
إذا لم تختفي الرسالة، هذا يعني أن سبب المشكلة ليس ملف htaccess. لا تنسَ إعادة تسمية ملف htaccess. إلى اسمه الصحيح، و الانتقال للخطوة الثانية لمعرفة سبب المشكلة.
يجب أن تكون أذونات ملفات موقعك الإلكتروني صحيحة، وخاصة إذا كنت تستخدم برمجية إدارة المحتوى مثل جوملا أو ووردبريس. إذا لم يتم وضع الأذونات الصحيحة لملفات موقعك الإلكتروني، سيتوقف موقعك عن العمل وستظهر رسالة خطأ 500 أو Internal Server Error. في ووردبريس مثلاً: يجب أن تكون الأذونات الصحيحة للملفات 0644، وللمجلدات 0755.
في حال كنت تستخدم برمجية إدارة المحتوى مثل ووردبريس، جوملا أو غيرها، فمن الاحتمال أن تسبب أحد الإضافات (Plugins) ظهور رسالة HTTP ERROR 500. علينا القيام بالخطوات التالية للتحقق إذا كانت إضافات الموقع تسبب هذا الخطأ أو لاً:
1. الذهاب إلى مجلد الإضافات الموجود على الموقع، في ووردبريس: مسار مجلد إضافات هو: wp-content/plugins. توجد كل الإضافات المُثبتة (المُفعّلة أو غير المُفعّلة) في هذا المجلد.
2. تغيير اسم مجلد الإضافة المُثبتة حديثاً. على سبيل المثال: في حال كان اسم مجلد الإضافة -NawPlugin-، قم بتغيير هذا الاسم إلى -NewPlugin0-. وذلك لتعطيل هذه الإضافة.
3. إعادة تحميل صفحة الموقع الإلكتروني الرئيسية (يُفضّل مسح التخزين المؤقت -Cache- في المتصفح قبل ذلك).
4. إذا اختفت رسالة الخطأ، هذا يعني أن سبب الخطأ هو وجود هذه الإضافة.
5. إذا لم تختفي رسالة الخطأ، فقم بتكرار الخطوة رقم 2 و 3 على جميع الإضافات المُثبتة على الموقع حتى تختفي الرسالة.
6. إذا لم تختفي الرسالة، هذا يعني أن الإضافات المُثبتة ليست هي سبب المشكلة.
أهم قيم PHP التي يجب ضبطها بشكل مناسب للموقع الإلكتروني:
الحد الأقصى لحجم ذاكرة سكربت PHP:
ويعني ذلك: الحد الأقصى المسموح من حجم الذاكرة الذي يُمكن أن يستخدمه كود PHP. فإذا احتاج كود PHP حجم ذاكرة أكبر من الحد الأقصى لحجم ذاكرة PHP، فذلك يؤدي إلى حدوث خطأ. لإصلاح هذا الخطأ: علينا رفع قيمة الحد الأقصى لحجم ذاكرة PHP.
الحد الأقصى لحجم البيانات المُرسلة من خلال طريقة POST:
طريقة POST هي أحد الطرق في PHP لإرسال بيانات من متصفح الزائر إلى السيرفر. وبالتأكيد هناك حد أقصى لحجم البيانات المسموح إرساله. أحياناً يتم إرسال حجم بيانات أكبر من الحد الأقصى به، فيؤدي ذلك إلى حدوث خطأ. الحل بسيط في هذه الحالة هو رفع الحد الأقصى للبيانات المُرسلة بطريقة POST.
الحد الأقصى لوقت تنفيذ سكربت PHP:
يُمكن أن تحتوي ملفات PHP على أوامر قواعد بيانات طويلة، والتي تحتاج لوقت طويل للتنفيذ أكبر من الحد الأقصى المسموح به (الافتراضي 30 ثانية). وفي هذه الحالة يحدث خطأ لعدم حصول كود PHP و SQL على الوقت اللازم للتنفيذ. لحل هذه المشكلة: يجب رفع الحد الأقصى لتنفيذ سكربت PHP.
الطريقة الأولى:
من خلال التعديل على ملف PHP.IN الموجود في مسار PUBLIC_HTML. في الكود التالي: تم رفع حجم الذاكرة الأقصى إلى 64 ميغا (memory_limit = 64M ) ، الحجم الأقصى للبيانات المُرسلة عبر طريقة POST إلى 32 ميغا (post_max_size = 32M ) ، والوقت الأقصى للتنفيذ إلى 40 ثانية (max_execution_time = 40). يمكنك تغيير هذه القيم حسب ما يناسبك (انتبه: يجب أن تكون قيمة post_max_size أقل من قيمة memory_limit)
memory_limit = 64M
post_max_size = 32M
max_execution_time = 40
الطريقة الثانية:
من خلال التعديل على ملف htaccess. الموجود في مسار PUBLIC_HTML:
<IfModule mod_php5.c>
php_value memory_limit 64M
php_value post_max_size 32M
php_value max_execution_time 40
<IfModule/ >
الطريقة الثالثة (الأسهل):
من خلال السي بانل. هذه هي الطريقة الأسهل ولكنها ليست متاحة في كل الاستضافات.
تتيح لي الاستضافة التي استخدمها حاليّاً (غرين غيكز) هذا الخيار، حيث يمكنني بخطوات بسيطة تعديل القيم المُتعلقة بـــِ PHP:
1. الذهاب إلى قسم البرنامج في الصفحة الرئيسية في السي بانل.
2. اختيار * Select PHP Version * وثم التصفح إلى * Switch to PHP Options *
3. قم بتغيير القيم بما يناسبك، ثم انقر على *حفظ *
تجاهل هذه الخطوة إذا كنت لا تستخدم ملفات PERL/CGI، أو لم تقم بتعديل على أي من هذه الملفات.
في حال حصولك على رسالة ERROR 500 عند تصفحك لملفات CGI/PERL، فهناك عدة أسباب مُحتملة لهذا الخطأ:
1. خطأ في كتابة التعليمات البرمجية في هذه الملفات.
2. أذونات خاطئة لبعض ملفات PERL/CGI: يجب أن تكون الأذونات لهذه الملفات 755.
3. عدم تحديد المسار الصحيح لــِ PERL المُثبتة على السيرفر: يجب إضافة المسار الصحيح في بداية ملف PERL/CGI على الشكل الآتي:
#!/usr/bin/perl
# Write Your Script Here
هاقد وصلت إلى النهاية ولم تحل المشكلة حتى الآن. هذا يعني أن سبب المشكلة وحلها ليس في إطار سيطرتك، ما عليك إلّا طلب المساعدة من الشركة المُقدّمة لاستضافة موقعك. على الأغلب سيكون سبب المشكلة من طرفهم، وسيقومون بمساعدتك.
قد يحدث خلل معيّن في الموقع الإلكتروني مما يؤدي إلى توقفه عن العمل، وظهور رسالة Internal Server Error | Error 500. لمعرفة سبب هذا الخطأ، علينا القيام بعدة خطوات لتتبع هذه المشكلة وحلّها بناءً على ذلك. بدايةً علينا التحقق من المشتبه الأول هو ملف htaccess.، ثم علينا التحقق من أذونات ملفات موقع الويب، و التأكد من عدم تداخل أي إضافات في حال استخدام برمجية إدارة محتوى مثل الووردبريس. يُمكن أن يكون سبب المشكلة هو قيم خاطئة لبعض إعدادات PHP، في هذه الحالة علينا وضع القيم المناسبة لملفات PHP المُستخدمة. قد يكون مصدر خطأ 500 هو ملفات PERL/CGI في حال تم استخدامها أو التعديل عليها مؤخراً.