وردپرس و چند ابزار debug

راه‌های مختلفی برای شناسایی و رفع باگ‌ها یا خطاهای موجود در کدهای افزونه‌ها یا قالب وردپرس وجود دارد. معمولا وقتی سایت پایین می‌آید یا خطایی را نمایش می‌دهد، متداول‌ترین راه‌حل غیرفعال کردن افزونه‌ها یا قالب است تا منشا خطا پیدا بشود. منتها این روش می‌تواند خیلی زمانگیر و در عین حال ناکارامد باشد و باعث بشود که دلیل اصلی مشکل از زیر چشم شما در برود و مجددا مدتی بعد بروز پیدا کند. در عوض برای انجام فرایند اصولی اشکال‌زدایی یا همان debug ابزارهای دیگری وجود دارد که غالبا کمتر استفاده می‌شوند.

فعال‌سازی WP-DEBUG

ساده‌ترین راه برای ثب و ضبط یا همان لاگ مشکلات سایت وردپرسی، فعال‌سازی حالت اشکال‌زدایی (دی‌باگ) است؛ ولی خیلی‌ها از این قابلیت استفاده نمی‌کنند چون بعضا نمی‌دانند که اصلا چنین قابلیتی وجود دارد. برای فعال‌سازی این قابلیت خیلی ساده باید به فایل wp-config بروید، WP_DEBUG را پیدا کنید، مقدارش را از false به true تغییر دهید و نهایتا دو خط زیر را هم به آن اضافه کنید:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );

به این شکل:

ضمنا در اینجا پیشنهاد نمی‌شود که مقدار WP_DEBUG_DISPLAY به true تغییر داده بشود، چون در این حالت تمام خطاها روی سایت شما نمایش داده خواهد شد.

خلاصه با تغییر و افزودن کد بالا وقتی خطایی در وردپرس رخ بدهد، در فایلی به نام debug.log در مسیر wp-content ذخیره می‌شود و به آن دسترسی خواهید داشت.

فعال‌سازی WPDP

برای ردیابی مشکلات اتصال به پایگاه داده (دیتابیس) می‌توان WPDP را فعال کرد. اگر به پوشه wp-includes بروید، فایلی را خواهید یافت به اسم wp-db.php. اگر کدهای فایل را باز کنید می‌بینید متغیری به اسم $show_errors وجود دارد که اگر ارزش آن را از false به true تغییر بدهید، وردپرس یک خروجی از خطاهای SQL تحویل شما می‌دهد (البته باید همان‌زمان WP_DEBUG و WP_DEBUG_DISPLAY را هم که بالاتر اشاره شد، به true تغییر بدهید).

فعال‌سازی SCRIPT_DEBUG

وردپرس به صورت پیش‌فرض از نسخه minified یا فشرده‌ی فایل‌های CSS و جاوا اسکپریت استفاده می‌کند تا به لود سریع‌تر سایت کمک کند. اما این نقطه قوت می‌تواند در فرایند اشکال‌زدایی به نقطه ضعف تبدیل و باعث شود که خطاهای موجود در اسکریپت‌ها و افزونه‌ها از چشم شما پنهان بماند.

برای حل این مساله کافی است به فایل wp-config بروید و خط زیر را به آن اضافه کنید:

define( 'SCRIPT_DEBUG', true );

الان وردپرس به طور خودکار نسخه غیرفشرده‌ی همه فایل‌های استایل و جاوا اسکریپت را لود می‌کند.

وندا نوژن