حل مشكلة: شاشة الموت البيضاء -White screen of death error in WordPress

عند زيارة موقعك؛ تظهر لك في بعض الأحيان شاشة بيضاء تسمى (شاشة الموت البيضاء)، والمزعج في هذه الرسالة أنها لا تظهر مكان الخطأ.

في بعض الأحيان تظهر هذه المشكلة على جزء من الموقع بينما يعمل الجزء الآخر، أو قد تظهر عندما تزور مقالة معينة ولا تظهر في باقي المقالات.

سبب المشكلة:

في أغلب الأحيان التي يعرض فيها الووردبرس الشاشة البيضاء بدلاً من استعراض محتويات موقعك، يكون أحد الأكواد البرمجية (script) على موقعك قد استهلك حد الذاكرة المسموح (memory limit).

أيضاً؛ في بعض الأحيان يحدث ذلك نتيجة إحدى الإضافات (plugin) المثبتة على الموقع أو بسبب أحد القوالب (Themes) الموجودة التي تعاني من مشكلة ما، وكذلك تظهر هذه الشاشة أحياناً إذا كان هناك مشكلة في خادم استضافة موقعك الإلكتروني. 

ملاحظة: قبل البدء بتجربة الحلول التالية؛ يفضل القيام بعمل نسخة احتياطية من الووردبريس


الحل #1: التحقق من المواقع الأخرى

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

في حال لم تظهر شاشة الموت على مواقعك الأخرى، فهذا يعني أن المشكلة متعلقة بموقعك المحدد وعليك تجربة الحل التالي.

الحل #2: محاولة استرداد الووردبريس

في حال كانت المشكلة بسبب إضافة مثبتة لديك أو بسبب قالب (theme)، فإن الووردبريس وحده من يستطيع حلها.

الإصدار الجديد من الووردبريس (WordPress 5.2)   الإصدار المحدث من ووردبريس (5.2.4) يحوي ميزة الحماية من الأخطاء الفادحة الجديدة (fatal error protection)، ويمكنه أحياناً معرفة هذه المشكلة.

في هذا الإصدار لن تظهر لك شاشة بيضاء، بل ستظهر لك رسالة تفيد بأن الموقع يواجه صعوبات فنية.

ستتلقى أيضًا رسالة على بريدك الإلكتروني بعنوان (موقعك يواجه مشكلة فنية – Your Site is Having a Technical Issue).

ستشير رسالة البريد الإلكتروني هذه إلى الإضافة التي تسببت في الخطأ.

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

الحل #3: زيادة حد الذاكرة المسموح

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

عند قيامك بزيادة الذاكرة سوف تُمكِّن الاسكريبت من إنهاء المهمة التي كان من المفترض القيام بها، وبالتالي تختفي الشاشة البيضاء.

خطوات زيادة حد الذاكرة:

  1. عليك الذهاب إلى لوحة التحكم ومن ثم مدير الملفات أو استخدام FTP والوصول إلى ملف (wp-config.php).
  2. الخطوة التالية، هي كتابة هذا الكود ضمن ملف wp-config.php
define( 'WP_MEMORY_LIMIT', '256M');

3. ستكتب هذا الكود قبل قبل السطر That’s all, stop editing! Happy publishing.

هذا الكود يعني أنك تقوم بزيادة حجم حد الذاكرة في الووردبريس إلى 256 ميجابايت.
4. ثم ستقوم بحفظ التغييرات التي أجريتها على ملف wp-config.php

يمكنك الآن زيارة موقعك، وفي حال كان حد الذاكرة هو المشكلة، ستختفي الشاشة البيضاء.

ملاحظة: إذا لم ينجح هذا الحل لزيادة حد الذاكرة، فهذا يعني أن مزود خدمة استضافة الويب التي تعتمد عليها لا تسمح للووردبريس بزيادة حد ذاكرة PHP، وستحتاجُ إلى مطالبة مزود خدمة استضافة الويب بزيادة حد ذاكرة PHP يدويًا.

الحل #4: التحقق من الإضافات (plugin) والقوالب (themes)

إذا لم تنجح الحلول السابقة عليك التحقق من الإضافات والسمات، ففي بعض الأحيان يكون السبب من أحدهما.

ماعليك فعله هو تعطيل جميع الإضافات الموجودة على موقعك.

الطريقة الأولى:

إذا كنت تستطيع الوصول إلى لوحة التحكم الخاصة بك، فعليك الذهاب إلى تبويبة (إضافات) على يمين الشاشة أو (plugins) على يسار الشاشة.

بعد ذلك عليك تحديد كل الإضافات واختيار ( تعطيل)

الطريقة الثانية:

إذا كنت لا تستطيع الوصول إلى لوحة التحكم الخاصة بالووردبريس، فعليك الدخول إلى ملفات الموقع من خلال FTP أو من خلال cPanel ثم إلغاء تنشيط الإضافات، بالشكل التالي:

  1. انتقل بمجرد الاتصال إلى مجلد (wp-content) حيث سترى مجلد “plugins”

الآن؛ تحتاج إلى النقر بزر الماوس الأيمن على مجلد Plugins ثم إعادة تسمية الملف، ويمكنك إعادة تسمية مجلد المكونات الإضافية إلى (plugins-deactivated) أو (Plugins-old).

بعد ذلك؛ عندما يبحث الووردبريس عن مجلد (Plugins) لتحميل جميع المكونات الإضافية الخاصة بموقعك، فإنه لن يتمكن من  العثور عليه، وبالتالي سوف يقوم ببساطة بإلغاء تنشيط جميع الإضافات بشكل تلقائي.

بعد ذلك؛ حاول الدخول إلى موقعك، وفي حال اختفت الشاشة البيضاء وكان السبب هو الإضافات، فعليك البدء بتفعيل الإضافات واحدة واحدة حتى تعرف ما هي الإضافة التي تسببت بالمشكلة.

الحل #5: التحقق من القوالب (themes)

في هذا الحل عليك تجربة استبدال القالب أو المظهر الخاص بموقعك بالمظهر الافتراضي للتأكد من سبب المشكلة.

الخطوات:

إذا كنت تستطيع الوصول إلى لوحة تحكم الووردبريس، فيمكنك الذهاب إلى المظهر ثم القوالب وتحديد القالب الافتراضي،

وإذا لم تكن قادراً على ذلك، فيمكنك القيام بالخطوات التالية:

  1. عليك الوصول إلى المجلد الذي يحتوي على كل القوالب الخاصة بموقعك (من خلال FTP أو من خلال cPanel) وتتبع المسار  / wp-content / theme / folder.

2. بعد ذلك؛ عليك حذف القالب المنصب لموقعك (زر الماوس الأيمن ثم حذف).

3. سيقوم الووردبريس بتفعيل القالب الافتراضي غالبًا مثل Twenty Eighteen)؛ وإذا لم تكن تملك قالب افتراضي لموقعك فعليك تحميله بشكل يدوي

بعد ذلك؛ عليك تجربة الدخول إلى موقعك، وإذا اختفت المشكلة فهذا يعني أن قالبك يحتوي على بعض الأكواد الخاطئة (Bugs)، أو أنه يتعارض مع بعض المكونات الأخرى لموقعك.

نصيحة:

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

الحل #6: تفعيل وضع التصحيح لاكتشاف الأخطاء في الووردبريس – Debug Mode

في حال لم تنفع الحلول السابقة؛ يمكنك محاولة تشغيل (Debug Mode) لمعرفة سبب الخطأ.

الخطوات:

  1. بدايةً؛ عليك تفعيل Debug mode من خلال تعديل الكود التالي في ملف wp-config.php.
define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true);

2. بمجرد إضافة هذا الكود؛ ستحتوي الشاشة الفارغة الآن على أخطاء وتحذيرات وإشعارات؛ قد تكون هذه التحذيرات قادرة على مساعدتك في تحديد السبب الحقيقي للخطأ.

إذا لم تشاهد أي أخطاء فعليك التحقق من سجل تصحيح الأخطاء (debug log).

ملحوظة: بعد الإنتهاء من هذه المهمة قم باستعادة الكود الأصلي بالشكل التالي

define( 'WP_DEBUG', false);

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

بعد هذه الخطوات؛ ربما يكون قد تم حل المشكلة بالفعل ولكن لا زالت المشكلة تظهر لك عند محاولة تصفح الموقع، ويكون ذلك بسبب احتفاظ المتصفح أو احتفاظ موقعك بملفات التخزين المؤقت، ولذلك عليك ببساطة تفريغ ذاكرة التخزين المؤقت لموقعك ونفس الأمر لمتصفح الويب الخاص بك.

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

أولاً، تحتاج إلى مسح ذاكرة التخزين المؤقت في متصفح الويب؛ حيث أن معظم متصفحات الويب تقوم بتخزين محتوى ثابت من الموقع لجعل زيارتك اللاحقة أسرع مثل أوراق الأنماط (CSS) وجافا سكريبت والصور.

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

إذا كنت تستخدم متصفح جوجل كروم: اذهب إلى الإعدادات ومسح البيانات كما في الصورة

2. ستفتح لك نافذة جديدة تستطيع من خلالها اختيار المحتوى الذي تريد إزالته.

لقد انتهيت الآن من مسح ذاكرة التخزين المؤقت للمتصفح، ويمكنك الآن محاولة زيارة موقعك الإلكتروني.

وإذا كنت تستخدم متصفح آخر مثل (فايرفوكس، أوبيرا، سافاري)، فيمكنك حذف الملفات المؤقتة بطرقة مشابهة.

2- حذف ملفات التخزين المؤقت لموقعك الووردبريس

ستحتاج أيضًا إلى حذف ملفات التخزين المؤقتة لموقعك الووردبريس من خلال إحدى إضافات الكاش (مثل:
WP Super Cache)، أو من خلال مزود خدمة الاستضافة.

ثم حاول الدخول مرة أخرى لموقعك، وستكون المشكلة قد حلت ويعمل موقعك بدون مشاكل بالغالب. لن تحتاج إلى استخدام كل الحلول السابقة في الغالب ولكن يتم حل المشكلة من خلال استخدام واحد أو اثنين من الحلول بإذن الله.

اقرأ أيضًا: مشاكل الووردبريس الأكثر شيوعًا، وطرق حلها

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