ما هو الخطأ الفادح (Fetal Error)؟ وأسبابه؟ والحلول الأمثل له

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

أحد هذه الأخطاء التي يمكن أن تكون قد واجهتها هي الخطأ الفادح أو ما يعرف بـ (fatal error)، هذا الخطأ يتسبب في توقف موقعك عن العمل، و يعرض لك رسالة تخبرك بأن هناك خطأ فادح في الموقع، كما هو مبين في الصورة التالية:

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

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


ما هو الخطأ الفادح؟

الخطأ الفادح (Fatal Error)هو أحد أشهر الأخطاء المخيفة في الووردبريس، والتي يفزع أصحاب مواقع الووردبريس من رؤيتها، وذلك لأن هذا الخطأ الفادح يتسبب في توقف عمل الموقع بالكامل وظهور شاشة بيضاء عليها رسالة تخبر الزائر بأن هناك خطأً فادحًا في الموقع. كما أنك ستواجه  مشكلة في الدخول إلى لوحة تحكم موقعك الووردبريس Wp-admin عند وجود خطأ فادح فيه. 

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

عند ظهور الخطأ الفادح في موقعك لا يجب أن تفزع على الإطلاق، وذلك لأن الخطأ الفادح رغم أنَّه من أكثر الأخطاء التي لا يريد أصحاب مواقع الووردبريس رؤيتها، إلا أن التعامل مع سهلٌ وبسيط. حيث توجد الكثير من الطرق التي ستتعرف عليها في المقالة والتي تساعدك على حل وتجاوز هذا الخطأ بسهولة وإرجاع الموقع إلى حالته الطبيعية من جديد. 

أسباب ظهور الخطأ الفادح في الووردبريس 

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

  • قد يظهر الخطأ الفادح عند تحديث الووردبريس، وفي هذه الحالة يكون السبب هو إحدى الإضافات السابقة المنصبة على الموقع والتي تكون غير متوافقة مع النسخة الحديثة للووردبريس. 
  • عدم الاهتمام بتحديث قوالب وإضافات الموقع عند توافرها قد يتسبب في ظهور الخطأ الفادح. 
  • التعديل على الكود المصدري في ملف Htaccess. أو ملف wp-config.php أو غيرها من الملفات المصدرية للووردبريس بطريقة غير صحيحة، أو بدون امتلاك الخبرة والمهارة الكافية للتعديل على تلك الملفات. 
  • فقدان ملف Functions.php أو التعديل عليه بطريقة خاطئة ربما يتسبب في ظهور الخطأ الفادح بالموقع.
  • أحيانًا يحدث الخطأ الفادح بمجرد تنصيب إحدى إضافات الووردبريس، وفي هذه الحالة يكون السبب هو أن الإضافة لم تتوافق مع الأكواد الخاصة ببعض الإضافات الأخرى بالموقع. 
  • فشل التحديث التلقائي للووردبريس قد يتسبب في ظهور خطأ فادح، وذلك قد يكون نتيجة انقطاع اتصال سيرفر الموقع بالووردبريس أثناء التحديث، وفي هذه الحالة يكون العلاج الأمثل للخطأ هو عمل تحديث يدوي للووردبريس.
  • أحد أسباب الخطأ الفادح الشائعة أيضًا قد يكون قلة مساحة الذاكرة Memory size للموقع، وهذه المشكلة غالبًا ما تحدث في الاستضافات المشتركة أو الاستضافات ضعيفة الموارد.

كيف تكتشف سبب حدوث الخطأ الفادح في موقعك الووردبريس 

بعد أن تعرفنا على الأسباب المحتملة لظهور الخطأ الفادح في موقع الووردبريس، لابُدَّ أن السؤال الذي  يدور في بالك الآن هو "كيف أحدد السبب الأكيد لظهور الخطأ الفادح في موقعي؟"

عند حدوث الخطأ الفادح في موقعك الووردبريس، ستظهر لك الرسالة بهذا الشكل المقتضب غالبًا: 

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

لذلك سنقوم في البداية بخطوة مهمة للغاية لنجعل ووردبريس يظهر لنا سبب الخطأ الفادح بدلاً من الاكتفاء بعرض رسالة بعنوان "كان هناك خطأ فادح في موقعك" والتي لا تعطينا أي معلومة مفيدة حول سبب وقوع الخطأ!

قم بالدخول إلى مدير ملفات الموقع < ثم ادخل على مجلد تنصيب الووردبريس <  وافتح ملف Wp-config.php في وضعية التحرير من خلال النقر فوقه بزر الماوس الأيمن ثم واختيار الأمر Edit للتعديل على بعض الأكواد داخله: 

بعد فتح صفحة التعديل على الملف البرمجي، ابحث عن الكود التالي: 

define( 'WP_DEBUG', false ); 

كما توضح لك الصورة التالية: 

كل ما عليك الآن هو أن تقوم بتغيير الكلمة false إلى true من أجل تفعيل وضع تصحيح الأخطاء البرمجية.  ثم قم بحفظ الملف بالضغط على زر Save Changes كما هو موضح في الصورة التالية:

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

انظر الصورة التالية التي توضح شكل الخطأ الفادح بالموقع بعد القيام بالتعديل البرمجي على الملف config.php

كما تلاحظ بالصورة السابقة أصبح الخطأ الفادح في الموقع يظهر بطريقة مفصَّلة ومفيدة أكثر، حيث يظهر ضمنه السبب وراء ظهور الخطأ.  على سبيل المثال السبب في ظهور الخطأ الفادح هنا هو وجود دالة غير معرفة داخل مجلد header.php الخاص بالقالب الحالي لموقع الووردبريس.

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

لذلك يلجأ بعض المطورين لعرض معلومات تصحيح الأخطاء في ملف يسمى /wp-content/debug.log وإلغاء عرضها على صفحات الموقع حتى لا تظهر أمام الزوار وذلك عن طريق إضافة الكود التالي أيضاً على ملف Wp-config.php بعد الكود السابق:

define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

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

define('WP_DEBUG', false); 

أنواع الخطأ الفادح Fatal Error وكيفية إصلاحه بنفسك 

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

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

الخطأ الفادح الناتج عن استدعاء دالة غير مُعرَّفة

توضح الصورة السابقة شكل التنبيه الخاص بهذا الخطأ (Call to undefined function) ، وهو من أشر الأخطاء الفادحة التي تحدث في الووردبريس. لكنه من جهة أخرى يعتبر أسهل الأخطاء من ناحية إصلاحه. 

عند تعرض موقعك لهذا الخطأ الفادح، قم بقراءة رسالة الخطأ (تذكر أن رسالة الخطأ لن تظهر بهذا الشكل إذا لم تقم بتفعيل الخيار Debug إلى القيمة True في ملف wp-config كما شرحنا في الفقرات السابقة من المقالة). 

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

الآن سنقوم بالدخول إلى ملف header.php داخل مدير ملفات الووردبريس على الاستضافة، لنجد أن السطر رقم 2 بالفعل يحتوي على دالة باسم mynewfun كما يظهر تمامًا في رسالة الخطأ:

كل ما عليك فعله الآن هو حذف هذه الدالة غير المعرفة أساسًا. وبالتالي سيعمل موقعك بشكل سليم.

ملحوظة: لقد قمنا بافتعال الخطأ السابق لتوضيح المثال لا أكثر، حيث قمنا بكتابة اسم دالة واستدعائها وهي غير معرفة في الملف ليظهر الخطأ ونوضح لك الفكرة. 

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

الخطأ الفادح الناتج عند تنصيب أو تحديث إحدى الإضافات

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

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

توضح الصورة التالية شكل رسالة الخطأ الناتجة عن إحدى الإضافات المنصبة على موقعك:

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

قم بالدخول إلى مجلد الإضافات من داخل مدير ملفات الموقع، ثم قم بالدخول  لمجلد تنصيب الووردبريس، ثم مجلد wp-content ، ثم مجلد plugins

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

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

الخطأ الفادح الناتج عن تنصيب أو تحديث أحد القوالب

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

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

قم بالدخول على مدير ملفات الموقع > وافتح مجلد تنصيب الووردبريس > ثم قم بالدخول إلى مجلد wp-content>  ستجد بداخله مجلد Themes الذي يحتوي على ملفات القوالب المنصبة على الموقع قم بالدخول على هذا المجلد كما هو مبين في الصورة التالية:

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

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

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

الخطأ الفادح الناتج عن ملف htaccess. 

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

في هذه الحالة يكون الحل هو إعادة ملف htaccess. إلى الوضع الافتراضي الخاص به قبل تطبيق أي تغييرات عليه، وللقيام بذلك يمكنك الدخول إلى مدير ملفات الاستضافة الخاصة به> ثم الدخول إلى مجلد تنصيب الووردبريس>  وستجد بداخله ملف htaccess. قم بحذف هذا الملف من مدير الملفات كما هو مبين في الصورة التالية (يمكنك تنزيله على جهازك أولاً لحفظ نسخة منه). 

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

الخطأ الفادح بسبب تخطى مساحة الذاكرة التخزينية

توضح الصورة السابقة شكل الخطأ الناتج عن تخطي مساحة الذاكرة في موقع الووردبريس (Allowed Memory size exhausted)، وينتج هذا الخطأ عن وجود الكثير من الأوامر البرمجية التي تعمل داخل الموقع في وقت واحد، وتحتاج تلك الأوامر البرمجية إلى مساحة Memory لكي تعمل ويتم تنفيذها بشكل سليم. 

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

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

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

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

بعد لصق الكود في ملف wp-config.php بهذا الشكل، قم بحفظ الملف وستلاحظ اختفاء الخطأ الفادح:

تعرف على تفاصيل أكثر حول الخطأ Memory exhausted في الووردبريس.

الخطأ الفادح بسبب تجاوز وقت تنفيذ الأكواد

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

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

للقيام بهذا الإجراء قم بالدخول إلى مدير ملفات ووردبريس، ثم إلى مجلد تنصيب الووردبريس داخل الاستضافة، وابحث بداخله عن ملف الإعدادات المسمى php.ini وافتحه في وضعية التحرير.

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

ثم قم بفتح هذا الملف ولصق الكود التالي بداخله:

max_execution_time = 600

حيث قمنا هنا بتعيين قيمة المتغير البرمجي max_execution_time إلى 600 ثانية  أي ما يعادل (5 دقائق).

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

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

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

php_value max_execution_time 600

أو من خلال إجراء تعديلات على الكود البرمجي   للملف wp-config.php في ووردبريس وإضافة الكود التالي له: 

set_time_limit(600);

ولا تنسى بالطبع أخذ نسخة احتياطية من أي ملف قبل أن تقوم بتعديله. 

ملحوظة: يمكنك زيادة القيمة إلى أكثر من 600 ثانية إذا استمر ظهور مشكلة الحد الأقصى للوقت المستغرق.

الخطأ الفادح بسبب محرر المكونات 

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

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

الخلاصة

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

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

كذلك تأكد قبل قيامك بتنصيب أي إضافة أو قالب في موقعك من أنه متوافق مع النسخة الحالية من الووردبريس لديك لتفادي حدوث مثل هذا النوع من الأخطاء فيه.

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