دیباگ کردن کد PHP، بخشی از هر پروژهای است. در این زمینه نیز وردپرس با یک سیستم دیباگ، این امر را برای توسعهدهندگان بسیار ساده کرد است. در این مطلب به انواع حالات دیباگ کد نوشته شده برای وردپرس که میتواند قالب یا پلاگین باشد میپردازیم.
کاربرانی که توسعهدهنده یا به عبارتی برنامهنویس نیستند، از این توضیحات میتوانند برای بدست آوردن اطلاعاتی دربارهی خطاهای مختلف کد استفاده کنند.
WP_DEBUG
WP_DEBUG، یک ثابت سراسری است که مشخص میکند آیا حالت دیباگ وردپرس فعال باشد یا خیر. بطور پیشفرض، مقدار آن false است که میتوان در فایل wp-config.php موجود در ریشهی وردپرس، مقدار آن را تغییر داد. بنابراین یکی از دو مقدار زیر را بایستی به این فایل اضافه کرد:
1 2 |
define( 'WP_DEBUG', true ); define( 'WP_DEBUG', false ); |
مقدار true یعنی فعال است و مقدار false یعنی فعال نیست. فعال کردن این حالت باعث میشود تا وردپرس تمامی خطاها، نکات و اخطارها را پیگیری کرده و بهحالت پیشفرض نیز در صفحه به نمایش بگذارد.
WP_DEBUG_LOG
WP_DEBUG_LOG یک ثابت سرساری همراه WP_DEBUG است که باعث میشود تا تمامی خطاها و … علاوه بر نمایش در صفحه مرورگر، درون فایلی به نام debug.log در wp-content ذخیره شوند. همچنین این اجازه را نیز میدهد تا از تابع error_log() برای نوشتن یک لاگ جدید در فایل لاگها استفاده شود.
1 2 3 |
define( 'WP_DEBUG_LOG', true ); -یا- define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' ); |
اگر مقدار آن true تنظیم شود، لاگها بهطور پیشفرض در مسیر wp-content/debug.log ذخیره خواهند شد ولی در اگر یک مسیر دلخواه برای مقدار آن تنظیم شود، لاگها در آن مسیر ذخیره خواهند شد.
WP_DEBUG_DISPLAY
همانطور که در بالا گفته شد، برای آنکه خطاها در صفحه نمایش داده نشده و تنها درون فایل ثبت شوند، بایستی ثابت سراسری WP_DEBUG_DISPLAY که بصورت پیشفرض true است را غیرفعال کرد:
1 |
define( 'WP_DEBUG_DISPLAY', false ); |
بهتر است حالت نمایش خطای خود PHP را نیز بههمراه این خط و پس از آن غیرفعال کرد:
1 |
@ini_set( 'display_errors', 0 ); |
SCRIPT_DEBUG
فعال کردن ثابت SCRIPT_DEBUG وردپرس را اجبار میکند تا از حالت dev (توسعهی) فایلهای CSS و جاوااسکریپت هستهی وردپرس بجای فایلهای فشرده شدهی آن استفاده کند. این زمانی مفید خواهد بود که بخواهید تغییراتی در فایلهای CSS و JS داخلی ایجاد کنید. پیشفرض آن false است:
1 |
define( 'SCRIPT_DEBUG', true ); |
SAVEQUERIES
ثابت SAVEQUERIES در صورت فعال بودن، باعث میشود تا تمامی کوئریهای دیتابیس درون یک آرایهای ذخیره شده و آن آرایه نیز میتواند بجهت آنالیز نمایش داده شود
1 |
define( 'SAVEQUERIES', true ); |
کوئریها در $wpdb->queries ذخیره میشوند. نیز یک متغیر سراسری است.
مثال
فرض کنید ثابتهای بالا بهصورت زیر در wp-config.php اضافه شده است:
1 2 3 4 5 6 7 8 9 10 11 12 |
// Enable WP_DEBUG mode define( 'WP_DEBUG', true ); // Enable Debug logging to the /wp-content/debug.log file define( 'WP_DEBUG_LOG', true ); // Disable display of errors and warnings define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); // Use dev versions of core JS and CSS files (only needed if you are modifying these core files) define( 'SCRIPT_DEBUG', true ); |
شما میتوانید آنها را قبل از /* That's all, stop editing! Happy blogging. */
در انتهای فایل وارد نمایید. البته توجه داشته باشید که قبلا در خطوط بالاتر تعریف نشده باشند.
پلاگینها
پلاگینهای زیادی نیز برای دیباگ وردپرس بهحالتهای مختلف ساخته شدهاند که همگی آنها را میتوان در «این لینک» از سایت وردپرس مشاهده کرد.
نظرات ثبت شده بدون دیدگاه