ماذا يعني «خطأ ٥٠٠»
رمز HTTP رقم 500 معناه أن الخادم واجه مشكلة لا يعرف كيف يصفها. حسب المتصفح والاستضافة يظهر بصيغة
«500 Internal Server Error» أو «HTTP ERROR 500» أو «هذه الصفحة لا تعمل». في ووردبريس
يكون السبب غالبًا واحدًا من هذه: ملف .htaccess غير صالح، خطأ PHP فادح، بلوغ حد الموارد،
أو صلاحيات ملفات خاطئة.
هو قريب من الشاشة البيضاء ومن الخطأ الحرج: العطل نفسه في PHP قد يظهر بأي منها حسب إعدادات الخادم.
قبل أي تعديل
خذ نسخة احتياطية من الملفات وقاعدة البيانات. كل خطوة هنا قابلة للتراجع، بشرط أن تكون لديك نقطة رجوع.
١. اقرأ سجل أخطاء الخادم
هذه الخطوة توفّر أكثر وقت. في cPanel: Metrics ← Errors، ولدى معظم المستضيفين قائمة «السجلات» أو «Logs». ابحث عن السطور في الوقت الذي أعدت فيه تحميل الصفحة. تتكرر عادةً هذه الأنواع:
Invalid commandأوRewriteRule← المشكلة في.htaccess(الخطوة ٢).PHP Fatal error← إضافة أو القالب (الخطوتان ٣ و٤).Allowed memory size exhausted← ذاكرة PHP (الخطوة ٥).is writable by groupأوPermission denied← الصلاحيات (الخطوة ٦).
٢. أعد إنشاء ملف .htaccess
على خوادم Apache وLiteSpeed (أغلب الاستضافات المشتركة)، يكفي سطر واحد غير صالح في .htaccess
لإسقاط الموقع كله بخطأ 500. إضافات التخزين المؤقت والحماية وإعادة التوجيه كلها تكتب فيه.
عبر SFTP غيّر اسم .htaccess (ملف مخفي في الجذر) إلى .htaccess-old وأعد تحميل
الموقع. إن عاد، ادخل إلى الإعدادات ← الروابط الدائمة واضغط «حفظ التغييرات» دون تعديل شيء:
سينشئ ووردبريس ملفًا نظيفًا. وهذا محتواه القياسي إن احتجت إليه:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
على خوادم Nginx لا يوجد ملف .htaccess، فانتقل مباشرة إلى الخطوة التالية.
٣. فعّل سجل أخطاء ووردبريس
أضف إلى wp-config.php، فوق السطر الذي يقول إن التعديل يتوقف هنا:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
أعد تحميل الصفحة ثم افتح wp-content/debug.log: آخر سطر PHP Fatal error يسمّي الملف والسطر المسببين.
٤. عطّل الإضافات، ثم القالب
غيّر اسم wp-content/plugins إلى plugins-off. إن عاد الموقع، أرجع الاسم الأصلي ثم غيّر
أسماء مجلدات الإضافات واحدًا تلو الآخر حتى يعود الخطأ. وإن لم يتغير شيء، كرّر ذلك مع مجلد القالب النشط
داخل wp-content/themes/.
٥. ارفع ذاكرة PHP
define( 'WP_MEMORY_LIMIT', '256M' );
إن كان المستضيف يحدّ الذاكرة بقيمة أقل، فلن يكون لهذا السطر أثر: ارفع memory_limit من لوحة
الاستضافة («PHP Selector» أو «خيارات PHP») أو اطلب ذلك من الدعم. ثم ابحث عمّا يستهلك كل هذه الذاكرة —
رفع الحد يخفي المشكلة الحقيقية غالبًا.
٦. تحقق من الصلاحيات وإصدار PHP
| العنصر | القيمة المتوقعة | الخطأ إن كانت خاطئة |
|---|---|---|
| المجلدات | 755 | خطأ 500 إن كانت 777 على بعض الخوادم |
| الملفات | 644 | خطأ 500 إن كان الملف قابلًا للكتابة من المجموعة |
wp-config.php | 640 أو 600 | خطر أمني إن كانت مفتوحة أكثر |
| إصدار PHP | متوافق مع إضافاتك | خطأ 500 بعد تغيير الإصدار مباشرة |
إن ظهر الخطأ دون أي تدخل منك، فتحقق هل غيّر المستضيف إصدار PHP — من أكثر أسباب «لم ألمس شيئًا» شيوعًا.
ما زال خطأ ٥٠٠ قائمًا؟
أرسل لي آخر سطر من سجل الأخطاء، أو رابط الموقع فقط. معظم أخطاء 500 تُحل في أقل من ساعتين — ولا تدفع شيئًا إن لم أصلحها.
أسئلة شائعة
هل خطأ 500 من الاستضافة أم من ووردبريس؟
غالبًا من ووردبريس: ملف .htaccess غير صالح، أو إضافة، أو حد الذاكرة. إن كان سجل الأخطاء فارغًا وحتى ملف ثابت للاختبار يعطي خطأ 500، فتواصل مع المستضيف.
الخطأ يظهر في لوحة التحكم فقط. لماذا؟
إضافة تعمل في لوحة الإدارة فقط هي المسببة، أو الذاكرة غير كافية للوحة التحكم. سجل الأخطاء يؤكد ذلك.
هل يدل خطأ 500 على اختراق؟
أحيانًا. كود مزروع في .htaccess أو في ملف PHP قد يسبب خطأ 500. إن وجدت في .htaccess إعادة توجيه لم تضفها، فراجع دليل الموقع المخترق.
ظهر خطأ 500 بعد تحديث مباشرة. ماذا أفعل؟
عطّل العنصر الذي حدّثته للتو بتغيير اسم مجلده عبر SFTP، ثم تحقق من توافقه مع إصدار PHP لديك.