500 خطأ خادم داخلي
حاول خادم الويب إنتاج الصفحة ، وحدث خطأ ما في الداخل ، وأعاد رمز الحالة بدلاً من سبب.
500 Internal Server Error
يظهر السبب في سجل أخطاء الخادم لا على الصفحة. اقرأ آخر أسطر السجل قبل تغيير أي شيء: يختلف علاج خطأ 500 الناتج عن خلل في .htaccess عن علاج خطأ 500 الناتج عن خطأ فادح في PHP.
الأسباب الأرجح أولًا.
افحص القائمة بالترتيب. يتيح لك كل فحص تأكيد السبب أو استبعاده قبل تغيير أي شيء، لأن الحلول تختلف والتخمين يكلّف أكثر من تنفيذ أمر للتحقق.
| السبب | كيفية التحقق | الإصلاح |
|---|---|---|
| A مشوه .htaccess | إعادة تسمية الملف وإعادة تحميل. إذا أصبح 500 صفحة عمل أو 404 ، كان .htaccess هو السبب. | دع WordPress يكتب واحدة نظيفة عن طريق إعادة حفظ الروابط الثابتة. يعد التوجيه من مكون إضافي لا يدعمه الخادم هو السبب المعتاد. |
| خطأ فادح في PHP لم يستطع المعالج الإبلاغ عنه | سجل أخطاء PHP يحتوي على إدخال "خطأ فادح" موقوت لطلبك ، بينما يسجل سجل الوصول 500. | تعامل معها على أنها قاتلة: ابحث عن الملف المسمى ، وقم بإلغاء تنشيط المكون الإضافي أو السمة التي تمتلكه. |
| أذونات ملف خاطئة | الدلائل التي ليست 755 أو الملفات التي ليست 644، أو أي شيء المجموعة أو العالم-الكتابة أن المعالج يرفض تنفيذ. | إعادة تعيينها. الاستعادة من نسخة احتياطية لم تحافظ على الأوضاع هي السبب المعتاد لخطأ شجرة كاملة في وقت واحد. |
| ملحق PHP مفقود بعد تغيير الإصدار | يسمي سجل الخطأ دالة غير محددة بدلاً من مشكلة بناء الجملة - وهي دعوة إلى شيء لا يوفره إنشاء PHP الجديد. | تثبيت التمديد أو العودة إلى إصدار PHP الذي كان عليه. تبديل إصدارات PHP هو عندما يظهر هذا. |
| الخادم نفد من مورد لا يسميه | 500 متقطعة تحت الحمل وغائبة عندما يكون الموقع هادئا. | انظر إلى حدود العملية والذاكرة قبل لمس WordPress. 500 المتقطعة هي قصة قدرة ، وليس قصة رمز. |
الإصلاح خطوة بخطوة.
تفترض الأوامر توفر WP-CLI والوصول إلى سطر الأوامر. إن لم يتوفرا، تشرح كل خطوة الإجراء كي تنفذه من لوحة التحكم أو عبر SFTP.
اقرأ سجل خطأ الخادم أولاً
كل شيء آخر في هذه الصفحة هو تخمين حتى يكون لديك. يختلف الموقع ؛ يغطي هذان الاثنان معظم المداخن.
tail -n 40 /var/log/nginx/error.log tail -n 40 /var/log/apache2/error.log
خذ .htaccess من الصورة
إعادة تسمية واحدة يخبرك ما إذا كانت قواعد إعادة كتابة تشارك، دون حذف أي شيء.
mv .htaccess .htaccess.off
إذا كان ذلك إصلاحه ، لديك WordPress كتابة واحدة جديدة
إعادة حفظ الروابط الدائمة يجدد كتلة WordPress تمتلك وتسقط أي شيء آخر تراكم.
wp rewrite flush --hard
تحقق من الأذونات عبر الشجرة
أي شيء يمكن كتابته من قبل العالم هو خطر 500 وأمن واحد.
find . -type d ! -perm 755 | head find . -type f ! -perm 644 | head
تأكيد PHP نفسها صحية
إذا تعذر على PHP تشغيل ملف تافه ، فإن المشكلة أقل من WordPress تمامًا.
php -v && php -r 'echo "php ok\n";'
ما تتولاه المنصة عنك.
لا يوجد .htaccess إلى تشوه - nginx يملك إعادة كتابة, ويتم تطبيقها من التكوين بدلا من ملف داخل جذر الويب أن أي ملحق يمكن إلحاق ل. يتم تبديل إصدارات PHP لكل موقع مع مجموعة التمديد التي تذهب معهم, وبالتالي فإن النسخة المفقودة تمديد هذا الخطأ لا البقاء على قيد الحياة التبديل, وسجل الخطأ هو نقرة واحدة من لوحة القيادة بدلا من مسار لديك لتخمين.
الأسئلة الشائعة.
لماذا لا تقول الصفحة ما الخطأ الذي حدث؟
هل يختلف 500 عن شاشة بيضاء؟
كل شيء يعمل ما عدا صفحة واحدة هل يمكن أن تكون 500؟
هل يجب علي رفع الحد الأقصى للذاكرة ورؤيته؟
إن لم يكن هذا هو السبب.
قد تبدو هذه الأخطاء متشابهة في المتصفح.