العثور على سجل الأخطاء
أين تُكتَب أخطاء PHP وApache، وكيف تقرأها حين تعيد صفحة شاشة بيضاء أو خطأ 500.
اعثر على الأخطاء وراء صفحة بيضاء أو خطأ 500. ينطبق على الاستضافة المشتركة والموزِّعة والمميّزة.
السجل هو الفارق بين التخمين والمعرفة. فصفحة خطأ 500 لا تقول شيئًا؛ أما السجل فيسمّي الملف والسطر.
أين تبحث
| السجل | الموقع | يحتوي |
|---|---|---|
| أخطاء PHP لموقعك | error_log في مجلد السكربت نفسه | الأخطاء الفادحة والتحذيرات والملاحظات |
| أخطاء Apache للحساب | ~/logs/ | أخطاء على مستوى الخادم وفشل الصلاحيات |
| cPanel Errors | cPanel ← Errors | أحدث المدخلات، دون حاجة إلى SSH |
وما تريده عادةً هو error_log في جذرك المستنَدي، أو في المجلد الفرعي الذي يقع
فيه السكربت المتعطّل.
اقرأه
في File Manager، فعّل Show Hidden Files، ثم افتح error_log. وأحدث
المدخلات في الأسفل.
وعبر SSH:
tail -n 50 ~/public_html/error_log
# راقبه مباشرة أثناء إعادة إنتاج المشكلة
tail -f ~/public_html/error_logوtail -f هو الأنفع: شغّله، وأثِر الخطأ في متصفح، وراقب ظهور المدخل. فذلك يزيل
أي شك حول أي مدخل يقابل مشكلتك.
ماذا تعني المدخلات
PHP Fatal error: Uncaught Error: Call to undefined function foo()
in /home/user/public_html/wp-content/plugins/example/file.php:42والملف والسطر هما الجزء المفيد. وهنا إضافة اسمها example، السطر 42.
- Fatal error — توقف التنفيذ. وهذا سبب صفحتك البيضاء أو خطأ 500.
- Warning / Notice — سُجِّل واستمر التنفيذ. وهي ضجيج عادةً، ما لم ترتبط بالمشكلة.
إن لم يوجد error_log
- تسجيل أخطاء PHP معطّل لذلك المجلد. فعّله مؤقتًا — راجع تفعيل تسجيل الأخطاء في PHP.
- الخطأ ليس من PHP. فخطأ 500 الناتج عن
.htaccessأو عن صلاحيات الملفات يظهر في~/logs/لا فيerror_log— راجع صلاحيات الملفات والمجلدات. - تبحث في المجلد الخطأ. فلكل مجلد
error_logخاص به. ابحث عنه:find ~ -name error_log.
احذفه حين تنتهي
ينمو error_log بلا حد، والموقع الذي يخطئ مع كل طلب قد ينتج ملفًا كبيرًا بما
يكفي لملء حصة قرصك. احذفه بعد الإصلاح — فهو يُعاد إنشاؤه عند الحاجة.