كيفية إصلاح خطأ خادم داخلي 500 على موقع WordPress الخاص بك
نشرت: 2017-12-25خطأ الخادم الداخلي المخيف 500. يبدو دائمًا أنه يأتي في أكثر الأوقات غير المناسبة ، وقد تركت فجأة تتدافع لمعرفة كيفية إعادة موقع WordPress الخاص بك إلى الإنترنت. ثق بنا ، لقد كنا جميعًا هناك. تشمل الأخطاء الأخرى التي تتصرف بشكل مشابه والتي ربما تكون قد شاهدتها أيضًا الخطأ المخيف في إنشاء اتصال قاعدة البيانات وشاشة الموت البيضاء المخيفة. ولكن من اللحظة التي يتعطل فيها موقعك ، فإنك تفقد الزوار والعملاء. ناهيك عن أنها تبدو سيئة لعلامتك التجارية.
سنقوم اليوم بالغوص في خطأ الخادم الداخلي 500 وسنوجهك عبر بعض الطرق لإعادة موقعك على الإنترنت بسرعة. اقرأ المزيد أدناه حول أسباب هذا الخطأ وما يمكنك فعله لمنعه في المستقبل.
- ما هو خطأ الخادم الداخلي 500؟
- كيفية إصلاح خطأ الخادم الداخلي 500
500 خطأ داخلي في الخادم (الأسباب الأكثر شيوعًا):
يمكن أن يكون سبب 500 خطأ داخلي في الخادم في WordPress العديد من الأشياء. إذا كنت تواجه واحدًا ، فهناك احتمال كبير أن يكون عنصر واحد (أو أكثر) من العناصر التالية هو سبب المشكلة:
- مخبأ المتصفح.
- بيانات اعتماد تسجيل الدخول إلى قاعدة البيانات غير صحيحة.
- قاعدة بيانات تالفة.
- الملفات التالفة في تثبيت WordPress الخاص بك.
- مشاكل مع خادم قاعدة البيانات الخاص بك.
- ملفات WordPress الأساسية التالفة.
- ملف htaccess تالف وحد ذاكرة PHP.
- مشاكل مع المكونات الإضافية والسمات الخارجية.
- مهلة PHP أو أخطاء PHP الفادحة مع المكونات الإضافية لجهات خارجية.
- أذونات الملف والمجلدات خاطئة.
- استنفاد حد ذاكرة PHP على الخادم الخاص بك
- ملف htaccess تالف أو معطل.
- أخطاء في نصي CGI و Perl.
تحقق من دليلنا النهائي لإصلاح خطأ الخادم الداخلي 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 اختلاف داخلي في خطأ الخادم
نظرًا لوجود خوادم الويب وأنظمة التشغيل والمتصفحات المختلفة ، يمكن أن يظهر خطأ خادم داخلي 500 في عدد من الطرق المختلفة. لكنهم جميعًا يتواصلون مع نفس الشيء. يوجد أدناه نوعان فقط من العديد من الأشكال المختلفة التي قد تراها على الويب:
- "خطأ خادم داخلي 500"
- "HTTP 500"
- "خطأ في الخادم الداخلي"
- "HTTP 500 - خطأ داخلي في الخادم"
- "خطأ 500"
- "خطأ HTTP 500"
- "500 - خطأ داخلي في الخادم"
- "500 خطأ خادم داخلي. عذرا، هناك خطأ ما."
- "500. هذا خطأ. كان هناك خطأ. الرجاء معاودة المحاولة في وقت لاحق. ماا نعرفه."
- "يتعذر على موقع الويب عرض الصفحة - HTTP 500."
- "غير قادر حاليًا على معالجة هذا الطلب. خطأ HTTP 500. "
قد ترى أيضًا هذه الرسالة المصاحبة لها:
واجه الخادم خطأً داخليًا أو تكوينًا خاطئًا ولم يتمكن من إكمال طلبك. يرجى الاتصال بمسؤول الخادم ، [البريد الإلكتروني المحمي] وإبلاغهم بوقت حدوث الخطأ ، وأي شيء قد تكون فعلته قد يكون سبب الخطأ. قد تتوفر المزيد من المعلومات حول هذا الخطأ في سجل أخطاء الخادم.

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

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

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

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

إذا كان خادم 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 خطأ على الخادم نفسه ، ولكن من تجربتنا ، تنشأ هذه الأخطاء من شيئين ، الأول هو خطأ المستخدم (مشكلة من جانب العميل) ، والثاني هو وجود مشكلة في الخادم . لذلك سوف نتعمق في القليل من كليهما.
هذا ليس مزعجا ابدا pic.twitter.com/pPKxbkvI9K
- Dare Obasanjo (@ Carnage4Life) 26 سبتمبر 2019
تحقق من هذه الأسباب والطرق الشائعة لإصلاح الخطأ الداخلي في الخادم 500 واستعد للنسخ الاحتياطي والتشغيل في أي وقت من الأوقات.
1. حاول إعادة تحميل الصفحة
قد يبدو هذا واضحًا إلى حد ما بالنسبة للبعض ، ولكن أحد أسهل الأشياء وأولها التي يجب أن تجربها عند مواجهة خطأ خادم داخلي 500 هو ببساطة الانتظار لمدة دقيقة أو نحو ذلك وإعادة تحميل الصفحة (F5 أو Ctrl + F5). يمكن أن يكون المضيف أو الخادم محملاً بشكل زائد وسيعود الموقع مباشرة. أثناء الانتظار ، يمكنك أيضًا تجربة متصفح مختلف بسرعة لاستبعاد ذلك باعتباره مشكلة.
شيء آخر يمكنك القيام به هو لصق موقع الويب في downforeveryoneorjustme.com. سيخبرك هذا الموقع إذا كان الموقع معطلاً أو إذا كانت هناك مشكلة من جانبك. تتحقق أداة مثل هذه من رمز حالة HTTP الذي يتم إرجاعه من الخادم. إذا كان هناك أي شيء بخلاف 200 "كل شيء على ما يرام" ، فسيعود مؤشر لأسفل.
لقد لاحظنا أيضًا أنه في بعض الأحيان يمكن أن يحدث هذا فورًا بعد تحديث مكون إضافي أو سمة على موقع WordPress الخاص بك. عادةً ما يكون هذا على المضيفات التي لم يتم إعدادها بشكل صحيح. ما يحدث هو أنهم يواجهون مهلة مؤقتة بعد ذلك مباشرة. ومع ذلك ، عادة ما يتم حل الأشياء من تلقاء نفسها في غضون بضع ثوانٍ ، وبالتالي فإن التحديث هو كل ما عليك القيام به.
2. امسح ذاكرة التخزين المؤقت للمتصفح
يعد مسح ذاكرة التخزين المؤقت للمتصفح دائمًا خطوة أخرى جيدة لاستكشاف الأخطاء وإصلاحها قبل الغوص في تصحيح الأخطاء بشكل أعمق على موقعك. فيما يلي إرشادات حول كيفية مسح ذاكرة التخزين المؤقت في المتصفحات المختلفة:
- كيفية فرض تحديث صفحة واحدة لجميع المتصفحات
- كيفية مسح ذاكرة التخزين المؤقت للمتصفح لجوجل كروم
- كيفية مسح ذاكرة التخزين المؤقت للمتصفح لموزيلا فايرفوكس
- كيفية مسح ذاكرة التخزين المؤقت للمتصفح لسفاري
- كيفية مسح ذاكرة التخزين المؤقت للمتصفح لبرنامج Internet Explorer
- كيفية مسح ذاكرة التخزين المؤقت للمتصفح لـ Microsoft Edge
- كيفية مسح ذاكرة التخزين المؤقت للمتصفح لأوبرا
3. تحقق من سجلات الخادم
يجب عليك أيضًا الاستفادة من سجلات الأخطاء الخاصة بك. إذا كنت أحد عملاء Kinsta ، فيمكنك بسهولة رؤية الأخطاء في عارض السجل في لوحة معلومات MyKinsta. يمكن أن يساعدك هذا في تضييق نطاق المشكلة بسرعة ، خاصةً إذا كانت ناتجة عن مكون إضافي على موقعك.

إذا لم يكن لدى مضيفك أداة تسجيل ، فيمكنك أيضًا تمكين وضع تصحيح أخطاء WordPress عن طريق إضافة الكود التالي إلى ملف wp-config.php لتمكين التسجيل:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
توجد السجلات عادةً في دليل / wp-content. قد يكون لدى الآخرين ، مثل هنا في Kinsta ، مجلد مخصص يسمى "السجلات".

يمكنك أيضًا التحقق من ملفات السجل في Apache و Nginx ، والموجودة هنا بشكل شائع:
- اباتشي: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
إذا كنت أحد عملاء Kinsta ، فيمكنك أيضًا الاستفادة من أداة التحليلات الخاصة بنا للحصول على تفصيل لإجمالي عدد أخطاء 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 الخاصة بك.


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

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

تأكد دائمًا من تحديث المكونات الإضافية والسمات ونواة 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 على مجلداتك وملفاتك للتأكد من إعدادها بشكل صحيح.

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

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

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

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

إذا كان هناك يمكنك تحرير هذا الملف لإضافة الكود اللازم لزيادة حد ذاكرة PHP. على الأرجح تم ضبطه على 64 م أو أقل ، يمكنك محاولة زيادة هذه القيمة.
php_value memory_limit 128M
زيادة حد ذاكرة PHP في ملف php.ini
إذا لم يفلح ما سبق ، فيمكنك محاولة تحرير ملف php.ini
الخاص بك. سجّل الدخول إلى موقعك عبر FTP أو SSH ، وانتقل إلى الدليل الجذر لموقعك وافتح ملف 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
الخاص بك:
define('WP_MEMORY_LIMIT', '128M');
يمكنك أيضًا سؤال مضيفك عما إذا كنت تواجه مشكلات تتعلق بحد الذاكرة. نحن نستخدم أداة Kinsta APM وطرق استكشاف الأخطاء وإصلاحها الأخرى هنا في Kinsta لمساعدة العملاء على تضييق نطاق البرنامج المساعد أو الاستعلام أو البرنامج النصي الذي قد يستنفد الحد الأقصى. يمكنك أيضًا استخدام مفتاح New Relic المخصص الخاص بك من رخصتك الخاصة.

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

عادةً لإعادة إنشاء هذا الملف ، يمكنك ببساطة إعادة حفظ الروابط الثابتة في 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 دقائق
سيرسل لك بريدًا إلكترونيًا في حالة تعطل موقعك. هنا مثال أدناه.
يمكن أن يكون هذا مفيدًا بشكل خاص إذا كنت تحاول تصحيح أخطاء مكون إضافي خاطئ أو كنت تستخدم مضيفًا مشتركًا يميل إلى ازدحام خوادمه. يمكن أن يمنحك هذا دليلًا على عدد المرات التي قد يتعطل فيها موقعك بالفعل (حتى أثناء منتصف الليل). لهذا السبب نوصي دائمًا باستخدام مضيف WordPress مُدار. تأكد من إطلاعك على المنشور الذي يستكشف أهم 9 أسباب لاختيار استضافة WordPress المُدارة.
ملخص
دائمًا ما يكون 500 خطأ داخلي في الخادم محبطًا ، ولكن نأمل أن تعرف الآن بعض الطرق الإضافية لتحري الخلل وإصلاحه لاستعادة موقعك وتشغيله بسرعة. تذكر ، عادةً ما تكون هذه الأنواع من الأخطاء ناتجة عن المكونات الإضافية لجهات خارجية ، وأخطاء PHP الفادحة ، ومشكلات اتصال قاعدة البيانات ، ومشكلات في ملف .htaccess أو حدود ذاكرة PHP ، وأحيانًا مهلات PHP.
هل كان هناك أي شيء فاتنا؟ ربما لديك نصيحة أخرى حول استكشاف أخطاء 500 الداخلية في الخادم وإصلاحها. إذا كان الأمر كذلك ، فأخبرنا أدناه في التعليقات.