learn

دیباگ وردپرس؛ ثبت امن خطا به‌جای نمایش عمومی

آموزش ثبت کوتاه‌مدت خطا با مسیر خصوصی؛ اصلاح تصور اشتباهِ لاگ‌کردن با WP_DEBUG_DISPLAY و توجه به محرمانگی و پایان عیب‌یابی.

دیباگ وردپرس برای جمع‌آوری شواهد خطا است، نه نمایش مسیر فایل و اطلاعات فنی به همهٔ بازدیدکنندگان. تا جای ممکن عیب‌یابی را روی نسخهٔ آزمایشی انجام دهید. پیش از ویرایش wp-config.php، نسخهٔ خصوصی و قابل بازگردانی آن را نگه دارید و پوشهٔ نصب درست را پیدا کنید.

سه تنظیم مستقل را اشتباه نگیریم

طبق راهنمای رسمی عیب‌یابی وردپرس، WP_DEBUG رفتار دیباگ را کنترل می‌کند؛ WP_DEBUG_LOG ثبت در لاگ را و WP_DEBUG_DISPLAY نمایش خطا را. فقط false کردن DISPLAY به‌تنهایی فایل debug.log نمی‌سازد. مقدار بولی را بدون کوتیشن بنویسید؛ رشتهٔ 'false' با مقدار بولی false یکسان نیست.

نمونهٔ پیکربندی با مسیر خصوصی

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', '/absolute/private/path/wp-debug.log');
define('WP_DEBUG_DISPLAY', false);

مسیر بالا نمونه است. قبل از استفاده، مسیر واقعیِ خارج از ریشهٔ وب و قابل نوشتن برای فرایند PHP را با مدیر هاست تعیین کنید. آن را بدون تطبیق کپی نکنید. اگر ثابت‌ها از قبل وجود دارند، همان تعریف را اصلاح کنید؛ تعریف تکراری اضافه نکنید و تنظیم‌ها را پیش از بارگذاری wp-settings.php قرار دهید.

اگر از مسیر پیش‌فرض استفاده کنیم

فعال‌کردن LOG با مقدار true معمولاً لاگ را در wp-content قرار می‌دهد. چنین فایلی ممکن است از وب قابل دریافت باشد؛ پیش از استفاده باید حفاظت واقعی آن را بررسی کنید. برای آزمون حفاظت، لاگ حساس را منتشر نکنید. از پشتیبانی مجاز بخواهید دسترسی عمومی را کنترل کند یا مسیر خصوصی مناسب بدهد.

خطا را یک بار و محدود بازتولید کنید

  1. زمان و منطقهٔ زمانی را یادداشت کنید.
  2. فقط عملیات مشکل‌دار را روی دادهٔ آزمایشی اجرا کنید.
  3. خطای تازهٔ همان زمان را از پیام‌های قدیمی جدا کنید.
  4. نوع خطا، مؤلفه و تغییر اخیر را ثبت کنید؛ محل گزارش‌شدن همیشه علت اولیه نیست.
  5. پیام را بدون کلید، کوکی، اطلاعات دیتابیس یا دادهٔ کاربر برای بررسی مجاز آماده کنید.

هشدارها را بی‌اهمیت ندانید

Warning و Deprecated الزاماً همان لحظه سایت را متوقف نمی‌کنند، اما می‌توانند نشانهٔ ناسازگاری یا خرابی خروجی باشند. آن‌ها را دسته‌بندی کنید؛ نه اینکه همه را نادیده بگیرید یا صرفاً متنشان را مخفی کنید. رفع علت باید با نسخهٔ افزونه، قالب و PHP سازگار باشد.

دیباگ وردپرس را باز نگذارید

پس از جمع‌آوری شواهد و اصلاح، دیباگ و لاگ‌نویسی موقت را خاموش کنید، نمایش عمومی را بسته نگه دارید و از نبود خروجی حساس مطمئن شوید. برای نگهداری یا پاک‌سازی لاگ، سیاست دسترسی و مدت نگهداری داشته باشید. این نمونه در سرور شما اجرا نشده است؛ نتیجه را با ایجاد یک رخداد کنترل‌شده و بررسی واقعی مسیر لاگ تأیید کنید.

راهنمای مرتبط

بازبینی فنی و منابع: ۲۷ مهر ۱۴۰۵. تاریخ انتشار اولیه و مسیر قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب