WebGee Docsمركز المساعدة
التطوير
ترحيل مجاني وضمان 30 يومًااعرف كيف

تفعيل تسجيل الأخطاء في PHP

فعّل الإبلاغ عن الأخطاء لتشخيص صفحة بيضاء — إلى ملف سجل، لا إلى المتصفح على موقع مباشر أبدًا.

اجعل PHP يسجّل الأخطاء لترى ما يتعطّل. ينطبق على الاستضافة المشتركة والموزِّعة والمميّزة.

الصفحة البيضاء تعني دائمًا تقريبًا خطأً فادحًا مع تعطيل العرض. والتسجيل هو كيف تراه.

لا تفعّل display_errors على موقع مباشر أبدًا. فرسائل الأخطاء تكشف مسارات الملفات وأسماء قواعد البيانات وأحيانًا بيانات الاعتماد، والمهاجمون يقرأونها عمدًا. سجّل إلى ملف بدلًا من ذلك — فالمعلومات ذاتها ولا يراها إلا أنت.

لسكربت واحد

أضف في أعلى الملف تمامًا، قبل أي كود آخر:

<?php
ini_set('log_errors', 1);
ini_set('error_log', __DIR__ . '/error_log');
error_reporting(E_ALL);

وتُكتَب الأخطاء إلى error_log بجوار السكربت. اقرأه كما هو موضّح في العثور على سجل الأخطاء.

للحساب كله

cPanel ← Select PHP Version ← Options:

الإعدادالقيمة
log_errorsOn
error_reportingE_ALL
display_errorsOff — اتركه معطّلًا

راجع تغيير إصدار PHP وإعداداته.

ووردبريس

حرّر wp-config.php، فوق /* That's all, stop editing! */:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

وتذهب الأخطاء إلى wp-content/debug.log.

وضبط WP_DEBUG_DISPLAY على false هو ما يبقيها خارج الصفحة. أما تفعيل WP_DEBUG وحده فيعرض الأخطاء للزوار — راجع تفعيل WP_DEBUG.

التنقيح على موقع مباشر

إن اضطررت، فقيّد الإخراج على عنوانك أنت:

if ( $_SERVER['REMOTE_ADDR'] === '203.0.113.10' ) {
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
}

وأزله فور انتهائك.

أوقفه بعد ذلك

التسجيل المفصَّل يكتب مع كل طلب. وترك E_ALL على موقع مزدحم ينتج ملف سجل كبيرًا بما يكفي للتأثير في حصة قرصك، والضجيج يدفن كل ما هو حقيقي.

اقرأ أيضًا

في هذه الصفحة

استضافتك في مكان آخر؟

الاستضافة السحابية

لوحة cPanel على أقراص NVMe، مع LiteSpeed وشهادة SSL مجانية ونسخ احتياطي يومي.

اطّلع على الباقاتترحيل مجاني