آموزش عیب یابی (دیباگ) و خطایابی در وردپرس

به منظور عیب یابی و مشاهده خطاها یا هشدارهای برنامه ی وردپرس می توانید حالت عیب یابی (دیباگ) وردپرس را از طریق فایل پیکربندی wp-config.php واقع در مسیر اصلی نصب برنامه فعال کنید.
فعالسازی مود دیباگ و خطایابی وردپرس
برای دسترسی به این قابلیت و امکان عیب یابی در وردپرس ، از صفحه اصلی دایرکت ادمین بخش “مدیریت فایل” را انتخاب کنید.
در ادامه، از بخش سمت چپ، شاخه domains و بعد نام دامنه را انتخاب و به شاخه public_html وارد شوید.
در این قسمت بر روی فایل wp-config.php راست کلیک کنید. سپس قسمت Edit را انتخاب نمایید.

در صفحه ایجاد شده، کد
define('WP_DEBUG', false);
را پیدا کنید. سپس به صورت زیر تغییر دهید.
define('WP_DEBUG', true);
در این حالت خروجی مود دیباگ وردپرس (شامل خطاهای php) در صفحات سایت در مرورگر نمایش داده خواهد شد.
فعالکردن لاگبرداری از خروجی دیباگ
به منظور ذخیره خروجی حالت دیباگ در یک فایل بر روی سایت کد زیر را یک خط پس از کد فعال سازی مود دیباگ (WP_DEBUG) در فایل wp-config.php اضافه کنید.
define('WP_DEBUG_LOG', true);
اضافه کردن این کد باعث می شود که وردپرس علاوه بر نمایش خروجی دیباگ در صفحات سایت این اطلاعات را در فایلی با نام debug.log در شاخه wp-content وردپرس ذخیره کند.
wp-content/debug.log
غیر فعال کردن نمایش خروجی دیباگ در صفحات سایت
برای غیر فعال کردن نمایش خروجی دیباگ در صفحات سایت کد زیر را پس از کد فعال سازی حالت دیباگ به فایل wp-config.php اضافه کنید:
define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors', 0);
نمونه کامل کد فعال سازی و تنظیم مود دیباگ
کد زیر مجموعه کد مورد نیاز برای فعال سازی حالت دیباگ وردپرس، غیر فعال کردن نمایش خروجی دیباگ در صفحات سایت و همچنین فعال کردن لاگ برداری خروجی دیباگ در فایل wp-content/debug.log را نمایش میدهد.
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors', 0);
این کد می بایست پیش از خط زیر به فایل wp-config.php وردپرس اضافه شود.
/* That's all, stop editing! Happy blogging. */
غیر فعال کردن حالت دیباگ وردپرس
برای غیر فعال کردن حالت دیباگ وردپرس مقدار ثابت WP_DEBUG در فایل wp-config.php را از true به false تغییر دهید:
define('WP_DEBUG', false);
سفارشیسازی خروجی مود دیباگ
خطاهای php از نوع notice, strict, deprecated معمولا در هنگام عیبیابی وردپرس مورد نیاز نیستند. با این وجود تعداد این خطاها در خروجی دیباگ بسیار زیاد بوده که این موضوع میتواند باعث دشواری بررسی خروجی دیباگ گردد. به خصوص این خطاها بررسی لاگ دیباگ را دشوار کرده و همچنین باعث افزایش بسیار سریع سایز فایل لاگ میشوند که این موضوع امکان فعال سازی طولانی مدت حالت دیباگ جهت شناسایی خطاهای نادر را با مشکل جدی مواجه می کند. به منظور حذف این خطاها از خروجی دیباگ وردپرس میتوانید به صورت زیر عمل کنید:
- بر روی سرویس هاستینگ خود به شاخه wp-content وردپرس بروید. سپس شاخهای با نام mu-plugins را در این مسیر ایجاد کنید.
- وارد شاخه mu-plugins شده و فایلی با نام error-reporting.php در این شاخه ایجاد کنید.
- فایل error-reporting.php را وایریش کرده و کد زیر را در این فایل قرار دهید.
<?php
error_reporting(E_ALL & ~( E_DEPRECATED | E_USER_DEPRECATED | E_USER_NOTICE | E_STRICT | E_NOTICE));
?>
این کد توسط وردپرس پیش از کدهای مربوط به پوسته و افزونهها اجرا میشود. همچنین باعث میشود که خطاهای اشاره شده که ناشی از کد پوسته و افزونهها هستند از خروجی دیباگ حذف شوند.
فعال سازی دسترسی وب به فایل debug.log
به منظور جلوگیری از دسترسی افراد غیر مجاز به فایل debug.log وردپرس بر روی سرویسهای میزبانی وب ارایه شده، دسترسی به این فایل به صورت پیش فرض بر روی سرویسهای نتافراز مسدود شده است. پیشنهاد میشود جهت دسترسی به این فایل از مدیریت فایل در دایرکتادمین یا سرویس FTP استفاده کنید. چنانچه همچنان مایل به دسترسی به این فایل از طریق وب هستید، جهت فعال سازی دسترسی برای آدرس IP اینترنت خود، کافی است کد زیر را به فایل .htaccess در شاخه wp-content وردپرس اضافه کنید (در صورت عدم وجود فایل مذکور، یک فایل جدید با همین نام ایجاد کنید).
<Files "debug.log"> Order deny,allow Allow from IPADDR Deny from all </Files>
بازدیدها: ۰