كيفية إصلاح خطأ خادم داخلي 500 على موقع WordPress الخاص بك

نشرت: 2017-12-25

خطأ الخادم الداخلي المخيف 500. يبدو دائمًا أنه يأتي في أكثر الأوقات غير المناسبة ، وقد تركت فجأة تتدافع لمعرفة كيفية إعادة موقع WordPress الخاص بك إلى الإنترنت. ثق بنا ، لقد كنا جميعًا هناك. تشمل الأخطاء الأخرى التي تتصرف بشكل مشابه والتي ربما تكون قد شاهدتها أيضًا الخطأ المخيف في إنشاء اتصال قاعدة البيانات وشاشة الموت البيضاء المخيفة. ولكن من اللحظة التي يتعطل فيها موقعك ، فإنك تفقد الزوار والعملاء. ناهيك عن أنها تبدو سيئة لعلامتك التجارية.

سنقوم اليوم بالغوص في خطأ الخادم الداخلي 500 وسنوجهك عبر بعض الطرق لإعادة موقعك على الإنترنت بسرعة. اقرأ المزيد أدناه حول أسباب هذا الخطأ وما يمكنك فعله لمنعه في المستقبل.

  • ما هو خطأ الخادم الداخلي 500؟
  • كيفية إصلاح خطأ الخادم الداخلي 500

تحقق من دليلنا النهائي لإصلاح خطأ الخادم الداخلي 500

ما هو 500 خطأ خادم داخلي؟

تحدد فرقة عمل هندسة الإنترنت (IETF) 500 خطأ خادم داخلي على النحو التالي:

يشير رمز الحالة 500 (خطأ داخلي في الخادم) إلى أن الخادم واجه حالة غير متوقعة منعته من تلبية الطلب.

عند زيارة أحد مواقع الويب ، يرسل متصفحك طلبًا إلى الخادم الذي يستضيف الموقع. يأخذ الخادم هذا الطلب ويعالجه ويعيد إرسال الموارد المطلوبة (PHP و HTML و CSS وما إلى ذلك) جنبًا إلى جنب مع رأس HTTP. يتضمن HTTP أيضًا ما يسمونه رمز حالة HTTP. رمز الحالة هو وسيلة لإعلامك بحالة الطلب. قد يكون رمز الحالة 200 الذي يعني "كل شيء على ما يرام" أو رمز الحالة 500 مما يعني حدوث خطأ ما.

هناك الكثير من الأنواع المختلفة من 500 رمز خطأ للحالة (500 ، 501 ، 502 ، 503 ، 504 ، إلخ) وكلها تعني شيئًا مختلفًا. في هذه الحالة ، يشير خطأ الخادم الداخلي 500 إلى أن الخادم واجه حالة غير متوقعة منعته من تلبية الطلب (RFC 7231 ، القسم 6.6.1).

500 خطأ خادم داخلي في WordPress
500 خطأ خادم داخلي في WordPress

500 اختلاف داخلي في خطأ الخادم

نظرًا لوجود خوادم الويب وأنظمة التشغيل والمتصفحات المختلفة ، يمكن أن يظهر خطأ خادم داخلي 500 في عدد من الطرق المختلفة. لكنهم جميعًا يتواصلون مع نفس الشيء. يوجد أدناه نوعان فقط من العديد من الأشكال المختلفة التي قد تراها على الويب:

    • "خطأ خادم داخلي 500"
    • "HTTP 500"
    • "خطأ في الخادم الداخلي"
    • "HTTP 500 - خطأ داخلي في الخادم"
    • "خطأ 500"
    • "خطأ HTTP 500"
    • "500 - خطأ داخلي في الخادم"
    • "500 خطأ خادم داخلي. عذرا، هناك خطأ ما."
    • "500. هذا خطأ. كان هناك خطأ. الرجاء معاودة المحاولة في وقت لاحق. ماا نعرفه."
    • "يتعذر على موقع الويب عرض الصفحة - HTTP 500."
    • "غير قادر حاليًا على معالجة هذا الطلب. خطأ HTTP 500. "

قد ترى أيضًا هذه الرسالة المصاحبة لها:

واجه الخادم خطأً داخليًا أو تكوينًا خاطئًا ولم يتمكن من إكمال طلبك. يرجى الاتصال بمسؤول الخادم ، [البريد الإلكتروني المحمي] وإبلاغهم بوقت حدوث الخطأ ، وأي شيء قد تكون فعلته قد يكون سبب الخطأ. قد تتوفر المزيد من المعلومات حول هذا الخطأ في سجل أخطاء الخادم.

Internal Server Error
خطأ في الخادم الداخلي

في أوقات أخرى ، قد ترى ببساطة شاشة بيضاء فارغة. عند التعامل مع 500 خطأ داخلي في الخادم ، يكون هذا شائعًا جدًا في المتصفحات مثل Firefox و Safari.

500 خطأ داخلي في الخادم في Firefox
500 خطأ داخلي في الخادم في Firefox

قد تحتوي العلامات التجارية الأكبر حجمًا على 500 رسالة خطأ خاصة بالخادم الداخلي ، مثل هذه الرسالة من Airbnb.

خطأ خادم داخلي في Airbnb 500
خطأ خادم داخلي في Airbnb 500

إليك مثال آخر لخطأ خادم Creative 500 من الأشخاص في الملف التمهيدي.

readme 500 internal server error
خطأ خادم داخلي لـ readme 500

حتى موقع YouTube القوي ليس في مأمن من 500 خطأ داخلي في الخادم.

500 خطأ خادم داخلي على YouTube
500 خطأ خادم داخلي على YouTube

إذا كان خادم IIS 7.0 (Windows) أو خادمًا أعلى ، فإن لديهم رموز حالة HTTP إضافية للإشارة عن كثب إلى سبب الخطأ 500:

  • 500.0 - حدث خطأ في الوحدة النمطية أو ISAPI.
  • 500.11 - يتم إغلاق التطبيق على خادم الويب.
  • 500.12 - التطبيق مشغول بإعادة التشغيل على خادم الويب.
  • 500.13 - خادم الويب مشغول جدًا.
  • 500.15 - غير مسموح بالطلبات المباشرة لـ global.asax.
  • 500.19 - بيانات التكوين غير صالحة.
  • 500.21 - لم يتم التعرف على الوحدة النمطية.
  • 500.22 - لا يتم تطبيق تكوين ASP.NET httpModules في وضع خط الأنابيب المُدار.
  • 500.23 - لا يتم تطبيق تكوين ASP.NET httpHandlers في وضع خط الأنابيب المُدار.
  • 500.24 - لا يتم تطبيق تكوين انتحال هوية ASP.NET في وضع خط الأنابيب المُدار.
  • 500.50 - حدث خطأ في إعادة الكتابة أثناء معالجة الإخطار RQ_BEGIN_REQUEST. حدث خطأ في التهيئة أو تنفيذ القاعدة الواردة.
  • 500.51 - حدث خطأ في إعادة الكتابة أثناء معالجة الإخطار GL_PRE_BEGIN_REQUEST. حدث تكوين عام أو خطأ في تنفيذ القاعدة العامة.
  • 500.52 - حدث خطأ في إعادة الكتابة أثناء معالجة الإخطار RQ_SEND_RESPONSE. تم تنفيذ قاعدة صادرة.
  • 500.53 - حدث خطأ في إعادة الكتابة أثناء معالجة الإخطار RQ_RELEASE_REQUEST_STATE. حدث خطأ في تنفيذ القاعدة الصادرة. يتم تكوين القاعدة ليتم تنفيذها قبل تحديث ذاكرة التخزين المؤقت لمستخدم الإخراج.
    500.100 - خطأ ASP داخلي.

تأثير 500 خطأ على تحسين محركات البحث

على عكس أخطاء 503 ، التي تُستخدم في وضع صيانة WordPress وتطلب من Google إعادة التحقق في وقت لاحق ، يمكن أن يكون لخطأ 500 تأثير سلبي على مُحسّنات محرّكات البحث إذا لم يتم إصلاحه على الفور. إذا كان موقعك معطلاً لمدة 10 دقائق على سبيل المثال ، ويتم الزحف إليه باستمرار مرات عديدة ، فسيقوم الزاحف ببساطة بتسليم الصفحة من ذاكرة التخزين المؤقت. أو قد لا تتاح لـ Google فرصة إعادة الزحف إليها قبل نسخها احتياطيًا. في هذا السيناريو ، أنت بخير تمامًا.

ومع ذلك ، إذا كان الموقع معطلاً لفترة طويلة من الوقت ، لنفترض 6 ساعات أو أكثر ، فقد ترى Google الخطأ 500 كمشكلة على مستوى الموقع يجب معالجتها. هذا يمكن أن يؤثر على الترتيب الخاص بك . إذا كنت قلقًا بشأن تكرار أخطاء 500 ، فيجب عليك معرفة سبب حدوثها من البداية. يمكن أن تساعد بعض الحلول أدناه.

كيفية إصلاح خطأ الخادم الداخلي 500

أين يجب أن تبدأ في استكشاف الأخطاء وإصلاحها عندما ترى خطأ خادم داخلي 500 على موقع WordPress الخاص بك؟ في بعض الأحيان قد لا تعرف حتى من أين تبدأ. عادةً ما يكون 500 خطأ على الخادم نفسه ، ولكن من تجربتنا ، تنشأ هذه الأخطاء من شيئين ، الأول هو خطأ المستخدم (مشكلة من جانب العميل) ، والثاني هو وجود مشكلة في الخادم . لذلك سوف نتعمق في القليل من كليهما.

تحقق من هذه الأسباب والطرق الشائعة لإصلاح الخطأ الداخلي في الخادم 500 واستعد للنسخ الاحتياطي والتشغيل في أي وقت من الأوقات.

1. حاول إعادة تحميل الصفحة

قد يبدو هذا واضحًا إلى حد ما بالنسبة للبعض ، ولكن أحد أسهل الأشياء وأولها التي يجب أن تجربها عند مواجهة خطأ خادم داخلي 500 هو ببساطة الانتظار لمدة دقيقة أو نحو ذلك وإعادة تحميل الصفحة (F5 أو Ctrl + F5). يمكن أن يكون المضيف أو الخادم محملاً بشكل زائد وسيعود الموقع مباشرة. أثناء الانتظار ، يمكنك أيضًا تجربة متصفح مختلف بسرعة لاستبعاد ذلك باعتباره مشكلة.

شيء آخر يمكنك القيام به هو لصق موقع الويب في downforeveryoneorjustme.com. سيخبرك هذا الموقع إذا كان الموقع معطلاً أو إذا كانت هناك مشكلة من جانبك. تتحقق أداة مثل هذه من رمز حالة HTTP الذي يتم إرجاعه من الخادم. إذا كان هناك أي شيء بخلاف 200 "كل شيء على ما يرام" ، فسيعود مؤشر لأسفل.

downforeveryoneorjustme
أسفل للجميع أو مجرد لي

لقد لاحظنا أيضًا أنه في بعض الأحيان يمكن أن يحدث هذا فورًا بعد تحديث مكون إضافي أو سمة على موقع WordPress الخاص بك. عادةً ما يكون هذا على المضيفات التي لم يتم إعدادها بشكل صحيح. ما يحدث هو أنهم يواجهون مهلة مؤقتة بعد ذلك مباشرة. ومع ذلك ، عادة ما يتم حل الأشياء من تلقاء نفسها في غضون بضع ثوانٍ ، وبالتالي فإن التحديث هو كل ما عليك القيام به.

2. امسح ذاكرة التخزين المؤقت للمتصفح

يعد مسح ذاكرة التخزين المؤقت للمتصفح دائمًا خطوة أخرى جيدة لاستكشاف الأخطاء وإصلاحها قبل الغوص في تصحيح الأخطاء بشكل أعمق على موقعك. فيما يلي إرشادات حول كيفية مسح ذاكرة التخزين المؤقت في المتصفحات المختلفة:

  • كيفية فرض تحديث صفحة واحدة لجميع المتصفحات
  • كيفية مسح ذاكرة التخزين المؤقت للمتصفح لجوجل كروم
  • كيفية مسح ذاكرة التخزين المؤقت للمتصفح لموزيلا فايرفوكس
  • كيفية مسح ذاكرة التخزين المؤقت للمتصفح لسفاري
  • كيفية مسح ذاكرة التخزين المؤقت للمتصفح لبرنامج Internet Explorer
  • كيفية مسح ذاكرة التخزين المؤقت للمتصفح لـ Microsoft Edge
  • كيفية مسح ذاكرة التخزين المؤقت للمتصفح لأوبرا

3. تحقق من سجلات الخادم

يجب عليك أيضًا الاستفادة من سجلات الأخطاء الخاصة بك. إذا كنت أحد عملاء Kinsta ، فيمكنك بسهولة رؤية الأخطاء في عارض السجل في لوحة معلومات MyKinsta. يمكن أن يساعدك هذا في تضييق نطاق المشكلة بسرعة ، خاصةً إذا كانت ناتجة عن مكون إضافي على موقعك.

تحقق من سجلات الأخطاء بحثًا عن 500 خطأ داخلي في الخادم
تحقق من سجلات الأخطاء بحثًا عن 500 خطأ داخلي في الخادم

إذا لم يكن لدى مضيفك أداة تسجيل ، فيمكنك أيضًا تمكين وضع تصحيح أخطاء WordPress عن طريق إضافة الكود التالي إلى ملف wp-config.php لتمكين التسجيل:

 define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );

توجد السجلات عادةً في دليل / wp-content. قد يكون لدى الآخرين ، مثل هنا في Kinsta ، مجلد مخصص يسمى "السجلات".

WordPress error logs folder (SFTP)
مجلد سجلات أخطاء WordPress (SFTP)

يمكنك أيضًا التحقق من ملفات السجل في Apache و Nginx ، والموجودة هنا بشكل شائع:

  • اباتشي: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

إذا كنت أحد عملاء Kinsta ، فيمكنك أيضًا الاستفادة من أداة التحليلات الخاصة بنا للحصول على تفصيل لإجمالي عدد أخطاء 500 ومعرفة عدد مرات حدوثها ومتى تحدث. يمكن أن يساعدك هذا في استكشاف الأخطاء وإصلاحها إذا كانت هذه مشكلة مستمرة ، أو ربما شيء تم حله بنفسه.

تحليل الاستجابة 500 تفصيل خطأ
تحليل الاستجابة 500 تفصيل خطأ

يمكنك تحديد الأخطاء وحلها بسهولة في عارض السجل الخاص بلوحة معلومات MyKinsta القوية والمركزية. جرب Kinsta مجانًا.

إذا تم عرض الخطأ 500 بسبب خطأ PHP فادح ، يمكنك أيضًا محاولة تمكين الإبلاغ عن أخطاء PHP. ما عليك سوى إضافة الكود التالي إلى الملف الذي ألقى الخطأ. يمكنك عادةً تضييق نطاق الملف في علامة تبويب وحدة التحكم في Google Chrome DevTools.

 ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);

وقد تحتاج أيضًا إلى تعديل ملف php.ini بما يلي:

 display_errors = on

4. خطأ في إنشاء اتصال قاعدة البيانات

يمكن أن يحدث 500 خطأ داخلي في الخادم أيضًا من خطأ في اتصال قاعدة البيانات. اعتمادًا على متصفحك ، قد ترى أخطاء مختلفة. لكن كلاهما سينشئ رمز حالة HTTP 500 بغض النظر عن سجلات الخادم.

يوجد أدناه مثال لما تبدو عليه رسالة "خطأ في إنشاء اتصال بقاعدة البيانات" مثل متصفحك. الصفحة بأكملها فارغة لأنه لا يمكن استرداد أي بيانات لعرض الصفحة ، لأن الاتصال لا يعمل بشكل صحيح. لا يؤدي هذا إلى كسر الواجهة الأمامية لموقعك فحسب ، بل سيمنعك أيضًا من الوصول إلى لوحة معلومات WordPress الخاصة بك.

Example of error establishing a database connection
مثال على خطأ في إنشاء اتصال قاعدة البيانات

فلماذا بالضبط يحدث هذا؟ حسنًا ، إليك بعض الأسباب الشائعة أدناه.

  • المشكلة الأكثر شيوعًا هي أن بيانات اعتماد تسجيل الدخول إلى قاعدة البيانات الخاصة بك غير صحيحة . يستخدم موقع WordPress الخاص بك معلومات تسجيل دخول منفصلة للاتصال بقاعدة بيانات MySQL الخاصة به.
  • قاعدة بيانات WordPress الخاصة بك تالفة. مع وجود العديد من الأجزاء المتحركة ذات السمات والإضافات والمستخدمين الذين يقومون بحذفها وتثبيتها باستمرار ، تتلف قواعد البيانات أحيانًا. قد يكون هذا بسبب جدول مفقود أو تالف بشكل فردي ، أو ربما تم حذف بعض المعلومات عن طريق الخطأ.
  • قد يكون لديك ملفات تالفة في تثبيت WordPress الخاص بك. يمكن أن يحدث هذا في بعض الأحيان بسبب المتسللين.
  • مشاكل مع خادم قاعدة البيانات الخاص بك. قد يكون هناك عدد من الأشياء الخاطئة في نهاية مضيفي الويب ، مثل تحميل قاعدة البيانات بشكل زائد من زيادة حركة المرور أو عدم الاستجابة من عدد كبير جدًا من الاتصالات المتزامنة. هذا أمر شائع في الواقع مع المضيفين المشتركين لأنهم يستخدمون نفس الموارد لكثير من المستخدمين على نفس الخوادم.

تحقق من منشورنا المتعمق حول كيفية إصلاح الخطأ في إنشاء اتصال قاعدة البيانات في WordPress.

5. تحقق من الإضافات والسمات

يمكن أن تتسبب المكونات الإضافية والسمات التابعة لجهات خارجية بسهولة في حدوث 500 خطأ داخلي في الخادم. لقد رأينا جميع الأنواع تسببها هنا في Kinsta ، من المكونات الإضافية لشريط التمرير إلى المكونات الإضافية لـ ad rotator. في كثير من الأحيان سترى الخطأ فورًا بعد تثبيت شيء جديد أو تشغيل تحديث. هذا هو أحد الأسباب التي تجعلنا نوصي دائمًا باستخدام بيئة مرحلية للتحديثات أو على الأقل تشغيل التحديثات واحدًا تلو الآخر. خلاف ذلك ، إذا واجهت خطأ خادم داخلي 500 ، فأنت تتعجل فجأة لمعرفة السبب الذي تسبب فيه.

توجد بعض الطرق التي يمكنك من خلالها استكشاف هذا الخطأ وإصلاحها عن طريق إلغاء تنشيط جميع المكونات الإضافية الخاصة بك. تذكر أنك لن تفقد أي بيانات إذا قمت ببساطة بإلغاء تنشيط مكون إضافي. إذا كان لا يزال بإمكانك الوصول إلى المسؤول ، فإن الطريقة السريعة للقيام بذلك هي التصفح إلى "المكونات الإضافية" وتحديد "إلغاء التنشيط" من قائمة الإجراءات المجمعة. سيؤدي هذا إلى تعطيل جميع المكونات الإضافية الخاصة بك.

قم بإلغاء تنشيط جميع المكونات الإضافية
قم بإلغاء تنشيط جميع المكونات الإضافية

إذا أدى ذلك إلى حل المشكلة ، فستحتاج إلى العثور على الجاني. ابدأ في تنشيطها واحدًا تلو الآخر ، وأعد تحميل الموقع بعد كل تنشيط. عندما ترى خطأ الخادم الداخلي 500 يعود ، فقد وجدت المكوِّن الإضافي الذي يعمل على سوء التصرف. يمكنك بعد ذلك الوصول إلى مطور البرنامج المساعد للحصول على المساعدة أو نشر بطاقة دعم في مستودع WordPress.

إذا لم تتمكن من تسجيل الدخول إلى مسؤول WordPress ، فيمكنك FTP في الخادم الخاص بك وإعادة تسمية مجلد الملحقات الخاصة بك إلى شيء مثل plugins_old. ثم تحقق من موقعك مرة أخرى. إذا نجحت ، فستحتاج إلى اختبار كل مكون إضافي واحدًا تلو الآخر. أعد تسمية مجلد المكون الإضافي مرة أخرى إلى "المكونات الإضافية" ثم أعد تسمية كل مجلد مكون إضافي بداخله إذا كان ، واحدًا تلو الآخر ، حتى تجده. يمكنك أيضًا محاولة تكرار هذا على موقع مرحلي أولاً.

Rename plugin folder
إعادة تسمية مجلد البرنامج المساعد

تأكد دائمًا من تحديث المكونات الإضافية والسمات ونواة WordPress الخاصة بك. وتحقق للتأكد من أنك تقوم بتشغيل إصدار مدعوم من PHP. إذا اتضح أن هناك تعارضًا مع رمز سيئ في مكون إضافي ، فقد تحتاج إلى إحضار مطور WordPress لإصلاح المشكلة.

6. أعد تثبيت ووردبريس كور

في بعض الأحيان ، يمكن أن تتلف ملفات WordPress الأساسية ، خاصة في المواقع القديمة. في الواقع ، من السهل جدًا إعادة تحميل جوهر WordPress فقط دون التأثير على المكونات الإضافية أو السمات. لدينا دليل متعمق بخمس طرق مختلفة لإعادة تثبيت WordPress. وبالطبع تأكد من عمل نسخة احتياطية قبل المتابعة. تخطي إلى أحد الأقسام أدناه:

  • كيفية إعادة تثبيت WordPress من لوحة معلومات WordPress مع الحفاظ على المحتوى الحالي
  • كيفية إعادة تثبيت WordPress يدويًا عبر FTP مع الحفاظ على المحتوى الحالي
  • كيفية إعادة تثبيت WordPress يدويًا عبر WP-CLI مع الحفاظ على المحتوى الموجود

7. خطأ في الأذونات

يمكن أن يتسبب خطأ الأذونات بملف أو مجلد على الخادم الخاص بك أيضًا في حدوث خطأ داخلي 500 في الخادم. فيما يلي بعض التوصيات النموذجية للأذونات عندما يتعلق الأمر بأذونات الملفات والمجلدات في WordPress:

  • يجب أن تكون جميع الملفات 644 (-rw-r – r–) أو 640.
  • يجب أن تكون كافة الأدلة 755 (drwxr-xr-x) أو 750.
  • يجب عدم إعطاء أدلة على الإطلاق 777 ، حتى تحميل الدلائل.
  • التصلب: يمكن أيضًا تعيين wp-config.php على 440 أو 400 لمنع المستخدمين الآخرين على الخادم من قراءته.

راجع مقالة WordPress Codex حول تغيير أذونات الملفات للحصول على شرح أكثر تفصيلاً.

يمكنك بسهولة رؤية أذونات الملفات الخاصة بك باستخدام عميل FTP (كما هو موضح أدناه). يمكنك أيضًا التواصل مع فريق دعم مضيف WordPress الخاص بك واطلب منهم الحصول بسرعة على أذونات ملف GREP على مجلداتك وملفاتك للتأكد من إعدادها بشكل صحيح.

أذونات الملف SFTP
أذونات الملف SFTP

8. حد ذاكرة PHP

يمكن أيضًا أن يحدث خطأ داخلي في الخادم 500 بسبب استنفاد حد ذاكرة PHP على الخادم الخاص بك. يمكنك محاولة زيادة الحد. اتبع الإرشادات أدناه حول كيفية تغيير هذا الحد في cPanel و Apache وملف php.ini وملف wp-config.php .

زيادة حد ذاكرة PHP في cPanel

إذا كنت تعمل على مضيف يستخدم cPanel ، فيمكنك بسهولة تغيير ذلك من واجهة المستخدم. ضمن البرنامج ، انقر فوق "تحديد إصدار PHP".

حدد إصدار PHP
حدد إصدار PHP

انقر فوق "التبديل إلى خيارات PHP".

قم بالتبديل إلى خيارات PHP
قم بالتبديل إلى خيارات PHP

يمكنك بعد ذلك النقر فوق سمة memory_limit وتغيير قيمتها. ثم انقر فوق "حفظ".

زيادة حد ذاكرة PHP في cPanel
زيادة حد ذاكرة PHP في cPanel

زيادة حد ذاكرة PHP في Apache

يعد ملف .htaccess ملفًا مخفيًا خاصًا يحتوي على إعدادات متنوعة يمكنك استخدامها لتعديل سلوك الخادم ، وصولاً إلى مستوى الدليل المحدد. قم أولاً بتسجيل الدخول إلى موقعك عبر FTP أو SSH ، ألق نظرة على الدليل الجذر الخاص بك ومعرفة ما إذا كان هناك ملف .htaccess هناك.

.htaccess file
ملف htaccess

إذا كان هناك يمكنك تحرير هذا الملف لإضافة الكود اللازم لزيادة حد ذاكرة PHP. على الأرجح تم ضبطه على 64 م أو أقل ، يمكنك محاولة زيادة هذه القيمة.

 php_value memory_limit 128M

زيادة حد ذاكرة PHP في ملف php.ini

إذا لم يفلح ما سبق ، فيمكنك محاولة تحرير ملف php.ini الخاص بك. سجّل الدخول إلى موقعك عبر FTP أو SSH ، وانتقل إلى الدليل الجذر لموقعك وافتح ملف php.ini أو أنشئه.

php.ini file
php.ini

إذا كان الملف موجودًا بالفعل ، فابحث عن الإعدادات الثلاثة وقم بتعديلها إذا لزم الأمر. إذا كنت قد أنشأت الملف للتو ، أو لم يتم العثور على الإعدادات في أي مكان ، يمكنك لصق الرمز أدناه. يمكنك بالطبع تعديل القيم لتلبية احتياجاتك.

 memory_limit = 128M

قد تتطلب بعض المضيفات المشتركة أيضًا إضافة التوجيه suPHP في ملف .htaccess حتى تعمل إعدادات ملف php.ini أعلاه. للقيام بذلك ، قم بتحرير ملف .htaccess الخاص بك ، الموجود أيضًا في جذر موقعك ، وأضف الكود التالي في أعلى الملف:

 <IfModule mod_suphp.c> suPHP_ConfigPath /home/yourusername/public_html </IfModule>

إذا لم ينجح ما سبق من أجلك ، فمن المحتمل أن يكون مضيفك لديه الإعدادات العامة مقفلة وبدلاً من ذلك قام بتهيئتها لاستخدام ملفات .user.ini . لتحرير ملف .user.ini الخاص بك ، قم بتسجيل الدخول إلى موقعك عبر FTP أو SSH ، وانتقل إلى الدليل الجذر لموقعك وافتح ملف .user.ini أو أنشئه. يمكنك بعد ذلك لصق الكود التالي:

 memory_limit = 128M

زيادة حد ذاكرة PHP في ملف wp-config.php

الخيار الأخير ليس خيارًا نحن معجبين به ، ولكن إذا فشل كل شيء آخر ، فيمكنك تجربته. أولاً ، قم بتسجيل الدخول إلى موقعك عبر FTP أو SSH ، وحدد موقع ملف wp-config.php الخاص بك ، والذي يكون عادةً في جذر موقعك.

wp-config.php file
wp-config.php

أضف الكود التالي إلى أعلى wp-config.php الخاص بك:

 define('WP_MEMORY_LIMIT', '128M');

يمكنك أيضًا سؤال مضيفك عما إذا كنت تواجه مشكلات تتعلق بحد الذاكرة. نحن نستخدم أداة Kinsta APM وطرق استكشاف الأخطاء وإصلاحها الأخرى هنا في Kinsta لمساعدة العملاء على تضييق نطاق البرنامج المساعد أو الاستعلام أو البرنامج النصي الذي قد يستنفد الحد الأقصى. يمكنك أيضًا استخدام مفتاح New Relic المخصص الخاص بك من رخصتك الخاصة.

التصحيح باستخدام New Relic
التصحيح باستخدام New Relic

9. مشكلة في ملف htaccess الخاص بك

يستخدم Kinsta Nginx فقط ، ولكن إذا كنت تستخدم مضيف WordPress يقوم بتشغيل Apache ، فمن المحتمل أن يكون ملف .htaccess الخاص بك به مشكلة أو أنه تالف. اتبع الخطوات أدناه لإعادة إنشاء واحدة جديدة من البداية.

أولاً ، قم بتسجيل الدخول إلى موقعك عبر FTP أو SSH ، وأعد تسمية ملف .htaccess الخاص بك إلى .htaccess_old .

إعادة تسمية ملف htaccess
إعادة تسمية ملف htaccess

عادةً لإعادة إنشاء هذا الملف ، يمكنك ببساطة إعادة حفظ الروابط الثابتة في WordPress. ومع ذلك ، إذا كنت في منتصف خطأ داخلي في الخادم 500 ، فمن المحتمل ألا تتمكن من الوصول إلى مسؤول WordPress الخاص بك ، لذلك هذا ليس خيارًا. لذلك يمكنك إنشاء ملف .htaccess جديد وإدخال المحتويات التالية. ثم قم بتحميله على الخادم الخاص بك.

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

راجع WordPress Codex لمزيد من الأمثلة ، مثل ملف .htaccess افتراضي لمواقع متعددة.

10. أخطاء في الترميز والنحوية في البرنامج النصي CGI / Perl

500 خطأ ناتج عن أخطاء في CGI و Perl أقل شيوعًا مما كان عليه من قبل. على الرغم من أنه لا يزال يستحق الذكر ، خاصة بالنسبة لأولئك الذين يستخدمون cPanel حيث لا يزال هناك الكثير من البرامج النصية CGI بنقرة واحدة قيد الاستخدام. كما يقول AEM على Stack Overflow:

تم استبدال CGI بمجموعة كبيرة ومتنوعة من تقنيات برمجة الويب ، بما في ذلك PHP وامتدادات Apache المختلفة مثل mod_perl و Java من مختلف النكهات والأطر بما في ذلك Java EE و Struts و Spring وما إلى ذلك ، والأطر المستندة إلى Python مثل Django و Ruby on Rails والعديد من إطارات Ruby الأخرى وتقنيات Microsoft المختلفة.

فيما يلي بعض النصائح عند العمل باستخدام برامج نصية CGI:

  • عند التحرير ، استخدم دائمًا محرر نص عادي ، مثل Atom أو Sublime أو Notepad ++. هذا يضمن بقائهم في تنسيق ASCII.
  • تأكد من استخدام الأذونات الصحيحة لـ chmod 755 في البرامج النصية والأدلة CGI.
  • قم بتحميل نصوص CGI الخاصة بك في وضع ASCII (والذي يمكنك تحديده في محرر FTP الخاص بك) في دليل cgi-bin على الخادم الخاص بك.
  • تأكد من تثبيت ودعم وحدات Perl النمطية التي تحتاجها للبرنامج النصي الخاص بك.

يمكنك تحديد الأخطاء وحلها بسهولة في عارض السجل الخاص بلوحة معلومات MyKinsta القوية والمركزية. جرب Kinsta مجانًا.

11. مشكلة الخادم (تحقق مع مضيفك)

أخيرًا ، نظرًا لأن 500 خطأ داخلي في الخادم يمكن أن تحدث أيضًا من مهلة PHP أو أخطاء PHP الفادحة مع المكونات الإضافية لجهات خارجية ، يمكنك دائمًا التحقق من مضيف WordPress الخاص بك. في بعض الأحيان قد يكون من الصعب استكشاف هذه الأخطاء بدون خبير. فيما يلي بعض الأمثلة الشائعة لبعض الأخطاء التي تؤدي إلى تشغيل 500 من رموز حالة HTTP على الخادم والتي قد تجعلك تخدش رأسك.

 PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
 PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525

نحن نراقب جميع مواقع العملاء هنا في Kinsta ويتم إخطارنا تلقائيًا عند حدوث هذه الأنواع من الأخطاء . يتيح لنا ذلك أن نكون استباقيين والبدء في إصلاح المشكلة على الفور. نحن نستخدم أيضًا مضيفات LXD المُدارة وحاويات برامج LXC منسقة لكل موقع. هذا يعني أن كل موقع WordPress موجود في حاوية منعزلة خاصة به ، والتي تحتوي على جميع موارد البرامج المطلوبة لتشغيله (Linux ، Nginx ، PHP ، MySQL). الموارد خاصة بنسبة 100٪ ولا تتم مشاركتها مع أي شخص آخر أو حتى مواقعك الخاصة.

قد تحدث مهلات PHP أيضًا بسبب نقص العاملين في PHP ، على الرغم من أن هذه عادةً ما تسبب أخطاء 504 ، وليس أخطاء 500. تحدد هذه عدد الطلبات المتزامنة التي يمكن لموقعك التعامل معها في وقت معين. لتوضيح الأمر ببساطة ، يتم التعامل مع كل طلب غير مُخزن لموقع الويب الخاص بك بواسطة عامل PHP.

عندما يكون عمال PHP مشغولين بالفعل على أحد المواقع ، فإنهم يبدأون في تكوين قائمة انتظار. بمجرد وصولك إلى الحد الأقصى لعدد العاملين في PHP ، تبدأ قائمة الانتظار في إخراج الطلبات القديمة مما قد يؤدي إلى 500 خطأ أو طلبات غير مكتملة. اقرأ مقالتنا التفصيلية حول العاملين في PHP.

مراقبة موقعك

إذا كنت قلقًا بشأن حدوث هذه الأنواع من الأخطاء على موقعك في المستقبل ، فيمكنك أيضًا استخدام أداة مثل updown.io لمراقبتك وإخطارك فور حدوثها. يرسل بشكل دوري طلب HTTP HEAD إلى عنوان URL الذي تختاره. يمكنك ببساطة استخدام صفحتك الرئيسية. تتيح لك الأداة ضبط ترددات التحقق من:

  • 15 ثانية
  • 30 ثانية
  • 1 دقيقة
  • 2 دقيقة
  • 5 دقائق
  • 10 دقائق

سيرسل لك بريدًا إلكترونيًا في حالة تعطل موقعك. هنا مثال أدناه.

إشعار البريد الإلكتروني بخطأ 500
إشعار البريد الإلكتروني بخطأ 500

يمكن أن يكون هذا مفيدًا بشكل خاص إذا كنت تحاول تصحيح أخطاء مكون إضافي خاطئ أو كنت تستخدم مضيفًا مشتركًا يميل إلى ازدحام خوادمه. يمكن أن يمنحك هذا دليلًا على عدد المرات التي قد يتعطل فيها موقعك بالفعل (حتى أثناء منتصف الليل). لهذا السبب نوصي دائمًا باستخدام مضيف WordPress مُدار. تأكد من إطلاعك على المنشور الذي يستكشف أهم 9 أسباب لاختيار استضافة WordPress المُدارة.

ملخص

دائمًا ما يكون 500 خطأ داخلي في الخادم محبطًا ، ولكن نأمل أن تعرف الآن بعض الطرق الإضافية لتحري الخلل وإصلاحه لاستعادة موقعك وتشغيله بسرعة. تذكر ، عادةً ما تكون هذه الأنواع من الأخطاء ناتجة عن المكونات الإضافية لجهات خارجية ، وأخطاء PHP الفادحة ، ومشكلات اتصال قاعدة البيانات ، ومشكلات في ملف .htaccess أو حدود ذاكرة PHP ، وأحيانًا مهلات PHP.

هل كان هناك أي شيء فاتنا؟ ربما لديك نصيحة أخرى حول استكشاف أخطاء 500 الداخلية في الخادم وإصلاحها. إذا كان الأمر كذلك ، فأخبرنا أدناه في التعليقات.