عند نتكلم عن ووردبريس، نكون بصدد الحديث عن الاختيار الأول الذي يمكن أن تفكر فيه لإنشاء موقع متكامل، فهو قابل للتخصيص في كل وقت، بمعنى الكلمة، حيث أنه بضغطة زر تقوم بإزالة، أو تركيب مكون جديد من مكونات “جسم” ووردبريس. هذا أمر رائع حقا، لكن هذا لا يعني أنك بمجرد تنصيب البرنامج، فلن تواجه أي عثرة أو خطأ على مستوى ملف من الملفات الرئيسية للبرنامج ذاته، كما هو الحال بالنسبة لملف الإعدادات، الذي يحمل اسم wp-config.php
اختصارا لما معناه “إعدادات ووردبريس”، أو بملف اخر حساس بملفات القالب، المسمى functions.php
والذي يحتوي وظائف محددة تقوم بعمل معين على القالب وحده فقط ما دام مفعلا. هذا الملف يعتبر قلب القالب، حيث أن أي خطأ بسيط به يؤدي إلى انهيار تام لعملية تحميل الملفات الأخرى، المكونة له. في هذه المقالة سأتطرق إلى أخطاء شائعة عند استخدام ووردبريس، وكيفية تصحيحها، وتخطي صفحات الخطأ التي تصدر عن هذه المشاكل.
عندما يتم تعطيل القالب الذي يشتغل عليه الموقع، مباشرة يتعطل مفعول هذا الملف – أي ملف الوظائف – ومعه الملفات المرفقة بالقالب، التي تشكل هيكل وتنسيق الموقع. بالنسبة لملف الإعدادات، الذي يتواجد خارج مجلد القالب طبعا، والذي يشكل العمود الفقري لبرنامج ووردبريس، لكي يشتغل أي شيء وكل شيء على الموقع، لكن ماذا يحوي هذا الملف كي يكون مهما إلى هذه الدرجة؟
ما هو ملف إعدادات ووردبريس wp-config.php ؟
ملف wp-config.php هو ملف لا يتجاوز حجمه 3.28kb ويحتوي إعدادات ووردبريس الأساسية، بتعبير آخر البيانات الأساسية لربط ووردبريس مع خادم استضافة معينة، ومحتوياته الأساسية، دون التطرق إلى التفاصيل الأخرى، هي
- اسم قاعدة البيانات
- اسم مستخدم قاعدة البيانات
- كلمة سر المستخدم لقاعدة البيانات
- اسم استضافة قاعدة البيانات
/** اسم قاعدة البيانات */
define('DB_NAME', 'Name_Here');
/** اسم مستخدم قاعدة البيانات */
define('DB_USER', 'User_Here');
/** كلمة السر لمستخدم قاعدة البيانات */
define('DB_PASSWORD', 'Password_Here');
/** اسم مستضيف قاعدة البيانات*/
define('DB_HOST', 'Host_here');
بالكود أعلاه بعض المعلومات التي يجب أن تتوفر في ملف الإعدادات، وهي بيانات جد أساسية، بدونها لا نستطيع أن نربط ملفات ووردبريس بخادم الاستضافة التي نستخدمها. هذا كما ذكرت، من الملفات الحساسة، والذي عادة ما يكون مصدر جل مشاكل الموقع أثناء التنصيب، أو بعد القيام بتعديل يدوي غير صحيح.
حتى يكون الارتباط ناجحا، وتفادي رسالة خطأ الاتصال الشائعة على ووردبريس،
خطأ في إنشاء اتصال بقاعدة البيانات
كما توضح الرسالة، أن الخطأ نتج عن مشكل في ربط الاتصال مع قاعدة البيانات، والسبب هو دون شك خطأ في المعلومات التي قمت بتزويد نظام ووردبريس بها، حيث يعجز عن الاتصال، ما يعني عدم القدرة على إنشاء الجداول الخاصة بووردبريس، التي عددها بشكل افتراضي هو 11 جدولا. هذا الخطأ يمكن أن ينتج إما أثناء تركيب ووردبريس، أو بعد تعديل غير سليم على ملف الإعدادات، بعد التركيب. الحل لتجاوز هذه رسالة الخطأ وإتمام العملية، هو بالتأكد من المعلومات التي تخص خادمك،
خطأ Cannot modify header information
هذا من بين الأخطاء الشائعة أيضا التي يوجهها مستخدم ووردبريس أثناء تعديل غير سليم على ملف الإعدادات wp-config.php، ونص الرسالة الكامل الذي يظهر على صفحة بيضاء، بعد انهيار كامل للموقع، يكون على هذا الشكل:
كما ذكرنا، هذا ملف حساس جدا، ومن أبرز تجليات هذه الحساسية، هو الخطأ الذي يظهر بالأعلى، الذي تتسبب به زيادات جد بسيطة على الشفرة البرمجية الأصلية. فأي سطر فارغ يسبق وسم افتتاح كود php أو بعد إغلاق الوسم ذاته سيؤدي إلى انهيار كامل مبرزا الرسالة المذكورة، مع إشارة للسطر الذي يجب تصحيحه بالملف ذاته.
لا يجب أن يكون هنا أي فراغ
<?php
//هنا يتم إدراج جميع أكواد ملف الإعدادات
?>
لا يجب أن يكون هنا أي فراغ أيضا
طريقة مفيدة وجدية في كتابة أوسمة [code lang=”php” inline=true]php[/code] هو استخدام فقط وسم الافتتاح، دون أن تقوم بإغلاقه في اخر الملف، مما يجعل السيرفر يعتبر أنها صفحة “كاملة” تستخدم فقط لغة php
ولا تحتوي أوسمة لغة أخرى، مثل [code lang=”markup” inline=true]HTML[/code]. لا تستخدم هذه الطريقة بملفات تحتوي خليط من لغات الويب.
يجب الانتباه إلى نقطة مهمة أثناء القيام بالتعديلات على أي ملف من ملفات ووردبريس، والتي من بينها ملف الإعدادات، وكذلك ملفات مجلد القالب، وهي استخدام محرر أكواد مخصص مثل Brackets على نظام ويندوز أو Sublime Text على نظام Mac، أو محرر نصوص “مسطح” مثل Notepad. لا تستخدم أبدا محرر نصوص عادي مثل برنامج شركة مايكروسوفت Word . بالإضافة إلى ذلك، يجب مراعات صيغة تكويد الملف التي من المستحسن أن تكون بصيغة UTF-8 without BOM وهو اختصار 8-bit Unicode Transformation Format والمقصود به هو نظام تكويد رموز لغة ما.
Cannot modify header information - headers already sent by (output started at /path/blog/wp-config.php:34) in /path/blog/wp-login.php on line 42
هذا مثال حي على شكل الخطأ، مع تحديد لمصدر الخطأ بالإشارة إلى رقم السطر. لاحظ أن الخطأ يشير إلى سطرين مختلفين، الأول على ملف الإعدادات، والثاني على ملف يدعى wp-login.php
مصدر الخطأ بهذه الحالة هو ملف الإعدادات، والملف الثاني هو ضحية هذا الخطأ، ولا علاقة له بهذه الرسالة. رسالة الخطأ في هذه الحالة ناتجة عن مسافة فارغة زائدة بالسطر رقم 34 المشار له بملف الإعدادات الرئيسية.
ملاحظة يجب أن أشير لها بخصوص هذا الخطأ، أنه ليس حصريا فقط على ملف الإعدادات، بل يمكن أن يطال أي ملف يتم التعديل عليه بطريقة خاطئة، بترك فراغ أول أو نهاية الملف، أو بحفظ الملف بصيغة تكويد مغايرة للمذكورة أعلاه، UTF-8
.
خطأ الصفحة البيضاء (White Screen of Death)
هذا الخطأ من الأمور الشائعة والمنتشرة عند استخدام ووردبريس، وهو أمر محير بالنسبة لعدد كبير من مستخدمي ووردبريس لأنه لا يظهر أية رسالة خطأ، تدل المستخدم على مصدر الخطأ، أو فقط حتى نوعه، لتحديد النطاق الذي يجب مراجعته.
سبب هذا الخطأ يكون له مصدران محتملان، إما خطأ برمجي في ملفات لغة php، سواء بملفات ووردبريس الرئيسية، ملفات القالب، أو ناتج عن إضافة لا تتوافق مع أكواد أخرى على الموقع، والمصدر الثاني المحتمل هو خطأ في ربط الاتصال بقاعدة البيانات الخاصة بالموقع، ما يجعل طلب الصفحة ينتهي إلى صفحة بيضاء، بدون أية رسالة ظاهرة. هذه الصفحة تعرف في مجتمع ووردبريس عموما بعبارة White Screen of Death .
الطريقة السليمة للتأكد أولا من مصدر الخطأ، هو تفعيل وضع التفحص، هذا الوضع الذي يسمح لك بإظهار كافة الأخطاء المحتملة التي يمكن أن تكون سببا في المشكل. تفعيل هذا الوضع يكون دائما عن طريق ملف إعدادات ووردبريس wp-config.php
انطلاقا من هذا الملف نقوم بتحويل قيمة الثابت من false
إلى tru
e، كما يتضح في الكود بالأسفل.
define('WP_DEBUG', true);
مباشرة بعد تمكين وضع التحقق من الأخطاء وحفظ الملف، تتوجه للصفحة الرئيسية للموقع، وتقوم بتحديث لها، في غالب الأحيان تظهر لك رسالة خطأ تشير إلى المصدر المحتمل للمشكل. في بعض الحالات قد لا تظهر أية رسالة تحيل إلى ذلك. في هذه الحالة تقوم بالخطوات الأولية الاعتيادية للتحقق من مصادر المشكل، وهي تعطيل كافة الإضافات، أو الإضافة المحتملة التي قد تكون السبب، بعد ذلك تقوم بإعادة تحديث الصفحة، للتأكد إذا ما لا يزال نفس الخطأ.
إذا ما استمر الأمر، بعد تعطيل كافة الإضافات والتحقق من كل واحدة على حدا، دون أية نتيجة، تتوجه إلى قسم القوالب، وتقوم بتعطيل القالب الذي تستخدمه حاليا، وتفعيل قالب افتراضي لووردبريس مثل Twenty Fifteen، ثم القيام بعملية التحديث للصفحة، للتأكد من حل المشكل.
في أغلب الأحيان، وبعد القيام بالخطوات المذكورة أعلاه، من المفروض أن تكون كافية لتخطي هذا المشكل، والوصول إلى جميع صفحات الموقع بشكل سلس وسليم. إذا ما استمر الأمر دون أي تغيير أو حل، فمصدر المشكل، سيكون له علاقة بأخطاء متعلقة بلغة php وإعداداتها على السيرفر، والخطوة القادمة ستكون عبر التواصل مع دعم الاستضافة، بذكر تفصيل التعديلات التي قمت بها قبل ظهور الصفحة البيضاء مباشرة، والخطوات التي قمت بها لحل المشكل، التي لم تفلح في ذلك.
خطأ Internal Server Error
أعتبره من أكثر الأخطاء الشائعة لكثرة الحالات التي يواجه بها مستخدمو ووردبريس أثناء تعاملهم مع البرنامج، ونظرا لعنوان الرسالة العام، الذي لا يذكر تفاصيل كثيرة حول الخطأ، كذلك تتعدد مسببات ومصادر هذا المشكل، وللتحقق من المصدر الأصلي لهذه الرسالة، أو بالأحرى لحل هذا المشكل الذي يمنعك من الولوج إلى الموقع، لأن هنالك خلل ما يمنع الارتباط بالسيرفر، وهو خطأ داخلي، هذا يساعدنا على فهم أن المشكل في الموقع ذاته وليس بالسيرفر (في معظم الحالات).
للتأكد من مصدر الخلل، أول خطوة يجب القيام بها، هو التوجه إلى برنامج زبون بروتوكول نقل الملفات، المعروف اختصارا باسم FTP وبشكل مفصل File Transfer Protocol مثل برنامج FileZilla، والاتصال بخادم الموقع ثم تغيير اسم ملف htaccess. إلى اسم مغاير مثلا htaccess_test. بعد ذلك توجه للموقع وقم بعمل تحديث للصفحة الرئيسية، إذا ما اختفت رسالة الخطأ بعد هذا التعديل، عليك أن تتوجه عبر لوحة تحكم الموقع إلى قسم الروابط الدائمة، ثم إعادة حفظ الإعدادات من جديد، الأمر الذي من المفروض أن يقوم بتوليد ملف htaccess. جديد لموقعك.
مصدر اخر محتمل للمشكل هو الإضافات، بعضها لا تنسجم بشكل جيد مع القالب، أو مع ووردبريس، ما يحدث تعارضا في الكود البرمجي، وينتج عنه رسالة الخطأ، وطريقة التأكد من هذا الأمر، هو بتعطيل لكافة الإضافات، أو الإضافة التي تشك بأنها مصدر هذا المشكل،
بهذه الحالة، سيتوجب عليك حذف الإضافة التي تسبب هذا التعارض حتى تتخلص من رسالة الخطأ، إذا كانت إضافة مهمة بالنسبة لك يمكنك التواصل مع مبرمجها، وإخباره بالمشكل الذي تواجهه، مع ذكر تفاصيل القالب الذي تستخدمه، الإضافات المستخدمة على موقعك، وتفصيل حول الخطأ الذي صادفته. بهذه الطريقة ستكون قد تحولت من مستهلك إلى منتج، وتقدم في نفس الوقت خدمة لمجتمع ووردبريس، للاستفادة مما تقدمه هذه الإضافة.
نفس الأمر فيما يتعلق بالقالب، فكلما قلناه على الإضافة، نسقطه على القالب، لأن لها نفس الطبيعة، فهي برمجيات “دخيلة” على بيئة نواة ووردبريس، لذلك أنصح بشدة استخدام الإضافات المتوفرة على مركز تحميل إضافات ووردبريس الرسمي فقط، وليس انطلاقا من موقع خارجي.
للإشارة، ظهور مراكز تحميل ووردبريس، أي مركز قوالب ووردبريس ومركز إضافات ووردبريس الرسمية، كان لدواعي وقائية وأمنية، ذلك أنه في وقت مضى، وقع عدد من الاختراقات لمواقع تستخدم ووردبريس، عن طريق قوالب وإضافات بها ثغرات أمنية، استغلت للدخول إلى هذه المواقع، فجاء رد ووردبريس بإنشاء منطقة “خضراء” من الإضافات والقوالب التي تمت مراجعتها والمصادقة عليها قبل جعلها متوفرة للاستخدام العام.
أمر اخر، يبدو إجراءًا جذريا بعض الشيء، لحل المشكل، هو إعادة تحميل المجلدين wp-includes
و wp-admin
، هذا الأمر سيحل المشكل، إذا كان مصدره ملف معطوب أو غير مكتمل التحميل، أو تم المساس بملف لم تستطع تحديده.
رسالة تنبيه Allowed memory size exhausted
هذه من بين الرسائل التي تظهر في بعض الحالات، ومصدرها في الأغلب يكون خارج متناول صاحب الموقع، حيث أن له علاقة بصلاحيات وإعدادات السيرفر أو الخادم، وحجم ذاكرة php التي يسمح بها للمستخدمين، أي للمواقع التي توجد على الخادم. الأمر يتطلب تعديلات على ملف يدعى php.ini الذي يحتوي إعدادات السيرفر الخاصة بلغة php، بهذه الحالة سيتوجب عليك التواصل مع مدير السيرفر لإخباره بالرسالة التنبيهية التي تظهر لك، بهدف الرفع من قيمة حجم ذاكرة php عن طريق الملف المذكور. أغلب شركات الإستضافة تعلم بهذا الأمر، لذلك يوفرون قيم متناسبة مع احتياجات أغلب المواقع.
خلاصة
كل ما جاء ذكره في مقالتي هذه هي المشاكل الشائعة العامة عند استخدام ووردبريس، التي تواجه أغلب مستخدمي البرنامج، بغض النظر عن لغة الاستخدام أو نوع خادم الاستضافة، وغيرها من العوامل. بالطبع هنالك لائحة أخرى من رسائل الخطأ التي من المحتمل أن تواجهها، أثناء استخدامك لووردبريس، التي تكون ذات طابع خاص أو شخصي، متعلقة أساسا بالإضافات، القوالب والوظائف المخصصة التي تقوم بإدراجها على ملف الوظائف على القالب.
أريد أن أشير إلى أن أغلب المشاكل الأخرى التي قد تواجهها، تكون صادرة بشكل كبير عن أخطاء يرتكبها المستخدم نفسه أثناء التعديل على ملف من الملفات، أو تحميل غير كامل أو صحيح لملف معين، أو عن برمجة بها أخطاء. بكلمات أخرى أن ووردبريس برنامج “نظيف” إلى حد كبير، وأن أغلب الأخطاء تكون بعد التعديل على البرنامج، لذلك من المهم جدا أن تحسن التعامل مع ووردبريس بذكاء، باستخدام محرر أكواد مخصص لتعديل الأكواد البرمجية، مع مراعاة صيغة الترميز، خاصة للملفات الحساسة، والتركيز على العمل أثناء القيام بالتعديلات عليها، لأنه غالبا ما نقع في أخطاء بسبب تشتت التركيز أثناء التعديل، الأمر الذي قد يهدر لنا وقت كثيرا عند البحث عن حل مشكل معين.