الأسئلة الشائعة حول إصلاح الأخطاء في ووردبريس
سنناقش في هذا المقال الأسئلة التي تدور حول استكشاف الأخطاء وإصلاحها، ويمكنك الاطلاع على أخطاء ووردبريس الشائعة لتتعرف على أكثر الأخطاء التي تواجه مستخدمي ووردبريس مثل:
الشاشة البيضاء
خطأ الخادم الداخلي
خطأ في إنشاء اتصال مع قاعدة البيانات
فشل التحديث التلقائي
نفاذ زمن الاتصال
نمط الصيانة الذي يلي التحديث
أخطاء PHP أو أخطاء قاعدة بيانات MySQL
تعطيل جميع الإضافات دون الوصول للوحة تحكم ووردبريس
من الضروري في بعض الأحيان تعطيل جميع الإضافات لكنك غير قادر على الوصول للوحة تحكم ووردبريس لعمل ذلك، وهنا عليك اتباع طريقة من اثنتين لتعطيل كامل الإضافات.
استخدم phpMyAdmin لتعطيل جميع الإضافات.
ابحث ضمن جدول wp_options عن السطر active_plugins ضمن عمود options_name.
غير قيمة الحقل option_value إلى a:0:{}
أو هيئ مجلد الإضافات باستخدام FTP أو مدير الملفات الذي توفره الاستضافة حيث تحافظ هذه الطريقة على خيارات الإضافة لكنها تتطلب إعادة تفعيل الإضافات يدويًا.
نفذ ما يلي باستخدام اتصال FTP مدير ملفات الاستضافة:
توجه إلى المجلد wp-contents
أعد تسمية مجلد الإضافات plugins إلى plugins_old
ادخل إلى لوحة تحكم ووردبريس ثم توجه إلى الإضافات /wp-admin/plugins.php وهذا سوف يعطل أي إضافة مفقودة.
أعد تسمية المجلد plugins_old إلى plugins
كيفية التخلص من رسالة الموقع في الصيانة التي تظهر بعد التحديث التلقائي
يعمل ووردبريس على إضافة ملف اسمه .maintenance ضمن المجلد الرئيسي للمدونة وذلك كجزء من عملية التحديث التلقائي -المجلد الذي يحتوي مجلد wp-admin، ووجود هذا الملف سيظهر للزوار الرسالة التالية والتي تعني أن الموقع غير متاح حاليًا لأعمال الصيانة:
“Briefly unavailable for scheduled maintenance. Check back in a minute”.
لإيقاف ظهور هذه الرسالة للزوار عليك حذف ملف .maintenance حيث يجب عليك تنفيذ التحديث التلقائي في حال فشل في المرة الأولى.
أُصدر تحديث جديد لكن مدونتي لا ترى أن هذا الإصدار متوفر
يظهر إشعار بتوفر نسخة جديدة من ووردبريس عند إطلاق إصدار جديد ويُعرض هذا الإشعار في أعلى لوحة تحكم ووردبريس يقول ووردبريس x.x.x متاحة! يرجى التحديث الآن. لن تظهر هذه الرسالة في جميع المدونات في نفس الوقت، حيث أن مدونتك مبرمجة لتتحقق من التحديثات كل 12 ساعة وبالتالي فإن توقيت التحقق لكل مدونة عشوائي، لذا إن كانت مدونتك تحققت من التحديثات قبل إصدار التحديث بدقائق فهذا يعني أنك لن ترى هذه الرسالة إلا بعد 12 ساعة لاحقة.
إن أردت لمدونتك أن تتحقق الآن عن وجود تحديثات تستطيع حذف الخيار update_core ضمن جدول wp_options، كما أن لكل إضافة وقالب دورة التحقق الخاصة بها التي يتحكم بها الخيارين update_plugins و update_themes ضمن جدول wp_options.
زوال تعديلات مخصصة على قالب ووردبريس بعد التحديث التلقائي الأخير
ينسخ تحديث نواة ووردبريس جميع الملفات الجديدة ويستبدل بها الملفات القديمة لذا إن أجريت تعديلات على ملفات ضمن قالب ووردبريس الافتراضي مثل تعديل الملف wp-content/themes/twentysixteen/style.css فإن هذه التغييرات سوف تختفي ويحل محلها النسخة الجديدة من الملف.
انتبه إلى أن تحديث نواة ووردبريس يُطبق على قائمة بالملفات القديمة المعرفة ضمن wp-admin/includes/update-core.php ويحذفها، وأي ملف ليس ضمن هذه القائمة وليس ضمن توزيعة الإصدار الجديد لن تتأثر.
تذكر أنه عليك أخذ نسخة احتياطية عن ملفات ووردبريس وقاعدة البيانات الخاصة به قبل التحديثات سواء التلقائية أو اليدوية كما هو مشروح في النسخ الاحتياطية لووردبريس.
الطريقة الأفضل لتعديل ملفات القالب الافتراضي هي باستخدام قالب ابن Child Theme الذي يتطلب منك المزيد من العمل بعض الشيء لكنه يستحق ذلك لأن تعديلات سوف تكون بأمان عند تحديث القالب الأب.
كيفية إصلاح جدول قاعدة بيانات MySQL
من الضروري كل فترة إجراء إصلاح لجدول أو أكثر لقاعدة بيانات MySQL، ووفقًا لكيفية إصلاح جداول MyISAM في dev.mysql.com هناك عدة أسباب لإصلاح الجدول بما فيها الأخطاء مث- “Unexpected end of file”
-
"tbl_name.frm is locked against change"
- "Can’t find file tbl_name.MYI (Errcode: nnn)"
- "Unexpected end of file"
- "Record file is crashed"
- "Got error nnn from table handler"
إليك خطوات إصلاح جدول في قاعدة بيانات MySQL باستخدام phpMyAdmin:
- ادخل لحساب الاستضافة
ادخل إلى phpMyAdmin
اختر قاعدة البيانات المُصابة أما إن كان لديك قاعدة بيانات فسوف تكون اختيرت تلقائيًا.
ستجد قائمة بجداول قاعدة البيانات ضمن اللوحة الرئيسية. ضع علامة ضمن الصناديق بجانب الأعمدة التي تحتاج إصلاح.
أسفل النافذة أي أسفل قائمة الجداول سوف تجد قائمة منسدلة. اختر Repair Table
تذكر أنه يُنصح بامتلاك نسخة احتياطية عن قاعدة البيانات في جميع الأوقات. ألق نظرة على النسخ الاحتياطية لووردبريس.
لا تصل رسائل البريد الإلكتروني الخاصة بكلمات المرور
عندما يحاول المستخدم التسجيل ضمن مدونتك أو تغيير كلمة مروره من خلال إدخال اسم المستخدم أو البريد الإلكتروني ثم يخبره ووردبريس أن كلمة المرور أرسلت إليه عبر البريد الإلكتروني والمشكلة التي تحصل أن البريد لا يصل أبدًا إلى ذلك المستخدم.
الأسباب والحلول المقترحة، يستخدم ووردبريس دالة mail() القياسية والتي تستخدم sendmail حيث لا حاجة لمعلومات الحساب، وهذه ليست مشكلة عادةً إن كنت تستخدم خدمة استضافة لكن إن كنت تستخدم بريدك الخاص ولا تمتلك خادم SMTP عندها لن يُرسل البريد الإلكتروني. إن كنت تستخدم نظام لينكس عندها يجب أن يكون لديك postfix أو sendmail على خادمك. يتعين عليك ضبطهما فقط (ابحث ضمن شبكة الإنترنت عن كيفية عمل ذلك). إن كنت لا تريد خوض عناء ضبط خادم البريد الإلكتروني ضمن خادمك ربما تجد msmtp مفيدًا كونه يوفر طريقة سهلة وآمنة للحصول على بريد إلكتروني ضمن نظامك. تستطيع ضمن نظام ويندوز استخدام محاكي sendmail مثل Glob SendMail.
خاص بمستضيف خادم ويندوز
تحقق من إعدادات Relay ضمن خادم SMTP الافتراضي وامنح وصولًا إلى 127.0.0.1 ثم اضبط إعدادات SMTP ضمن ملف php.ini على نفس عنوان IP، واضبط أيضًا smtp_port إلى 25.
تأكد من استخدام عنوان استقبال صحيح
افتراضيًا يملأ مرسل البريد الإلكتروني في ووردبريس حقل المرسل بالبريد الخاص بموقعك مثل wordpress@yourdomain.com وحقل الاسم بالاسم WordPress.
لا مشكلة في هذا إن كان عنوان البريد الإلكتروني صالحًا، فعلى سبيل المثال إن كان بريدك الإلكتروني الحقيقي هو wordpress@yourdomain.com عندها يجب على مُضيف تمرير البريد الإلكتروني لاستقباله. سوف يُرسل بريدك غالبًا طالما أن النطاق yourdomain.com مُجهر لإرسال واستقبال البريد الإلكتروني حتى إن لم يكن wordpress صندوق بريد إلكتروني صالح، لكن ضبط بريدك الإلكتروني الحقيقي على أنه من: عنوان مثل wpgod@gmail.com ربما لن يُرسل البريد الإلكتروني لأن gmail.com ليس نطاقًا يديره خادم البريد الإلكتروني.
يعامل البريد على أنه بريد مهمل
يُمكن أن يُعاد توجيه رسائل البريد الإلكتروني الخاصة بك إلى مجلد البريد المُهمل والاحتمال الأسوأ أن يعتبر بريدًا يحتوي ملفات ضارة ويُحذف. يوجد بعض الإجراءات التي تستطيع اتخاذها لإقناع خوادم البريد الإلكتروني للمستقبلين أن رسالتك شرعية ويجب إيصالها للعنوان المطلوب.
إطار عمل سياسة المُرسل Sender Policy Framework
هذا هو الإجراء الأكثر استخدامًا لمعالجة رسائل البريد الإلكتروني المزعجة، وإن كنت تستخدم استضافة مشتركة فاحتمال كبير أن تكون استضافتك تستخدم إطار العمل هذا لخادم البريد الإلكتروني. اجعل موقعك على ووردبريس يُرسل لك بريدًا إلكترونيًا وابحث ضمن ترويسة الرسالة عن دليل يُشير أن الرسالة فُحصت من خلال SPF أي Sender Policy Framework. تستطيع جعل الموقع يُرسل لك بريدًا باستخدام رابط فقدان كلمة المرور، وإن لم يجتز البريد نظام تحقق SPF تستطيع ضبط إعداداته إن كنت تمتلك وصول لسجلات DNS ونطاق خادم البريد الإلكتروني الخاص بك. تحقق من مسار العودة للبريد الإلكتروني الذي أرسلته، فإن كان خادم البريد الإلكتروني الموجود ضمن القائمة يمتلك اسم نطاقك تستطيع ضبط معلومات SPF حيث تستطيع الاستعانة بعدة مقالات على الإنترنت حول كيفية عمل ذلك.
مفتاح النطاق المُحدد للبريد Domain Key Identified Mail
هذا النظام مُستخدم أيضًا حيث تستطيع استخدام كل من SPF وDKIM -اختصار إلى Domain Key Identified Mail- ضمن نفس الرسالة، وكما هو الحال في SPF تستطيع التحقق من كون خادم البريد الإلكتروني المستقبل تعرف على مفتاح نطاق مُضيفك من خلال فحص ترويسة البريد الإلكتروني. هناك احتمال كبير أن مفتاح التوقيع لم يُضف مما يُشير إلى أن المُضيف اختار ألا يستخدم هذا البروتوكول.
إن كنت تستطيع تعديل سجلات DNS وخادم البريد الإلكتروني التابع لنطاقك عندها تستطيع ضبط معلومات DKIM بنفسك، وتستطيع البحث على الإنترنت عن كيفية عمل ذلك.
لم لا أستطيع رؤية منشوراتي؟
قد تواجه مشكلة بعدم رؤية المنشورات في موقع ووردبريس وكل ما تراه هو نعتذر، لا يوجد منشورات توافق معاييرك.
يُمكن أن تُحل هذه المشكلة من خلال حذف ملفات التخزين وملفات تعريف الارتباط ضمن متصفحك.
ظهور تحذير بأن الترويسات أرسلت بالفعل
تظهر لك رسالة تحذير ضمن متصفحك تقول:
Warning: Cannot modify header information – headers already sent by
(output started at
ومعناه أنه لا يمكن تعديل معلومات الترويسة، أرسلت الترويسات مسبقًا.
يظهر هذا التحذير عادةً بسبب وجود فراغات أو أسطر فارغة أو ما شابهها قبل وسم غالبًا ضمن ملف wp-config.php. ينطبق هذا الأمر على بعض الملفات الأخرى أيضًا لذا عليك التحقق من رسالة الخطأ كونها تذكر اسم الملف حيث ظهر هذا الخطأ (ألق نظرة على “تفسير رسالة الخطأ” في الأسفل). إن استبدال الملف الذي يتضمن المشكلة بنسخة من آخر نسخة احتياطية هي الفرصة الأكبر لك لحل هذه المشكلة لكن في حال استمرت المشكلة في الظهور يوجد عدة خطوات تستطيع اتباعها.
في هذه الحالة اتبع الخطوات التالية:
- عليك تنزيل الملف المذكور في رسالة الخطأ باستخدام اتصال FTP أو باستخدام مدير الملفات الذي توفره استضافتك.
افتح هذا الملف باستخدام محرر نصي (لا تستخدم برنامج Microsoft Word أو ما يُشابهه بل استخدم Notepad أو BBEdit).
تحقق أن المحارف الأولى ليست عبارة عن فراغات أو سطور فارغة.
قبل حفظ الملف تحقق من كون ترميز الملف ليس UTF-8 BOM حيث تستطيع استخدام الترميز UTF-8 أو أي ترميز لا ينتهي باللاحقة BOM
للتحقق من نهاية الملف اتبع ما يلي:
للتحقق من نهاية الملف اتبع ما يلي:
- ضع مؤشر الفأرة بين إشارة ? وإشارة <
اضغط الآن على مفتاح الحذف ضمن حاسوبك. بالنسبة لمستخدمي ماك عليكم الانتباه أن زر الحذف Delete يحذف المحارف إلى يمين المؤشر.
استمر بالضغط على هذا الزر.
على الأقل لمدة 15 ثانية.
اكتب المحرف < واحفظ الملف دون الضغط على أي زر آخر.
إن ضغطت على أي زر آخر سوف تعود هذه المشكلة للظهور.
لا تُضف أي شيفرة برمجية ضمن كتل غير ضرورية بل أضفها ضمن كتلة PHP واحدة.
مثال خاطئ:
<?php some code; ?> <?php some other codes; ?>
مثال صحيح:
<?php code; some other code; ?>
ارفع الملف إلى الخادم بعد الانتهاء من تعديله وحفظه.
ملاحظة: تحقق أيضًا من ترميز الملف، فإن كان الملف مُرمزًا باستخدام UTF-8 BOM عليك استخدام ترميز آخر لا يتضمن اللاحقة BOM.
إن كانت رسالة الخطأ تتضمن ما يلي:
Warning: 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
هذا يعني أن المشكلة موجودة في السطر 34 للملف wp-config.php وليس السطر 42 للملف wp-login.php، ففي هذا المثال السطر 42 من الملف wp-login.php هو المتأثر بوجود مسافة بيضاء زائدة ضمن السطر 34 من ملف wp-config.php.
إن كانت رسالة الخطأ تتضمن ما يلي:
Warning: Cannot modify header information - headers already sent by (output started at /path/wp-admin/admin-header.php:8) in /path/wp-admin/post.php on line 569
عندها المشكلة موجودة في السطر 8 للملف admin-header.php وليس السطر 569 للملف post.php، ففي هذا المثال السطر 569 للملف post.php هو المتأثر بالمسافة البيضاء الموجودة ضمن السطر 8 من الملف admin-header.php.
لماذا لا يعمل زر “نشر” أو “حفظ كمسودة”؟
لحل هذه المشكلة أو مشكلة مشابهة عليك تعطيل إضافاتك واحدة تلو الأخرى حتى تعثر على مصدر المشكلة، وعادةً تظهر مثل هذه المشاكل بسبب محاولة إضافة أو أكثر استخدام نفس الموارد (مثل أدوات QueryjQuery أو أدوات تعتمد على Java).
ربما هناك مشكلة في متصفحك أيضًا، والحل الشائع هو حذف ملفات تخزين المتصفح، وهنا عليك الرجوع لتوثيق المتصفح الذي تستخدمه لمعرفة كيفية تنفيذ هذا.
كيفية إصلاح الخطأ 404 عند استخدام الروابط الدائم
إن ظهر الخطأ 404 عند استخدام الروابط الدائمة مثل اليوم والاسم ضمن نافذة الروابط الدائمة في قسم الإعدادات للوحة تحكم ووردبريس فهذا ربما لأن وحدة mod_rewrite غير نشطة أو غير مثبتة، والحل يكون بتفعيل هذه الوحدة لخادم أباتشي Apache. تحقق من ملف apache\conf\httpd.conf وابحث عن السطر التالي:
#
LoadModule rewrite_module modules/mod_rewrite.so
واحذف إشارة # في بداية السطر ثم أوقف خادم أباتشي Apache وأعد تشغيله.
ملاحظة: ربما سوف تحتاج للتواصل مع مزود الاستضافة لتفعيل وضع mod_rewrite.
ألق نظرة على استخدام الروابط الدائمة.
لماذا حساب المدير لا يملك صلاحيات تعديل المنشورات كمستخدم مؤلف؟
لا تعلم ما سبب هذه المشكلة بالضبط إذًا عليك اتباع أحد الطريقتين التاليتين لمحاولة حل المشكلة.
تحل هذه الخطوات هذه المشكلة عادةً:
أنشئ حساب مدير جديد (مثل newadmin) برتبة مدير.
سجل دخول على أنك المستخدم newadmin
خفض رتبة المدير السابق admin لمشترك واحفظ التغييرات.
أعد رفع مرتبة المدير السابق admin إلى مدير واحفظ التغييرات.
سجل دخول بحساب المدير القديم.
إن لم تعمل الطريقة السابقة جرب الطريقة التالية:
أنشئ اسم مستخدم جديد (مثل newadmin) برتبة مدير.
سجل دخول على أنك المستخدم newadmin
احذف حساب المدير السابق وعيين أي منشورات للمدير الجديد newadmin
أنشئ حساب admin برتبة مدير
سجل دخول بحساب المستخدم admin
احذف المستخدم newadmin وعيّن المنشورات للمستخدم admin
قد تواجه مشكلة في هذا الصدد أيضًا، وهي عرض اسم خاطئ للمؤلف ضمن منشور على المدونة؟، وحل هذه المشكلة هو نفسه الحل المذكور للتو تمامًا.
إن واجهتك أي مشكلة أخرى لم تجد حلًا لها هنا أو استعصت عليك إحدى المشاكل سابقة الذكر، فيمكنك نشرها في قسم الأسئلة والأجوبة في أكاديمية حسوب لطلب المساعدة والدعم، ويمكنك أيضًا طلب المساعدة من مجتمع حسوب IO التقني. ترجمة -وبتصرف- للمقال FAQ Troubleshooting من موقع ووردبريس.س
اترك تعليقاً