فعال سازی حالت دیباگ (Debug) وردپرس

Avatar
نویسنده: علیرضا برزودی
سه‌شنبه 21 اردیبهشت 1400
مطالعه: ۱۲ دقیقه ۰ نظر ۲۰۹۵ بازدید

حتما تا به حال وب سایتتان با خطا مواجه شده است. یکی از عوامل اصلی این خطا ها مربوط به کدنویسی سایت می باشد. دیباگ کردن کد های PHP در هر پروژه ای لازم است. این فرآیند می تواند گاها دشوار و پیچیده باشد اما وردپرس دارای سیستم Debug مشخصی است که برای استفاده کاربران تسهیل شده است. همچنین در تمام قالب ها، افزونه ها و هسته اصلی سایت از یک کد استاندارد استفاده شده است. در این مطلب، علاوه بر فعال سازی حالت دیباگ وردپرس، قصد داریم ابزار ها و روش های مختلف Debugging در وردپرس را شرح دهیم و به شما عزیزان ترفند هایی به منظور افزایش کیفیت کلی و سودآوری بیشتر در کد هایتان را آموزش بدهیم.

دیباگ وردپرس به چه معناست؟

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

عموما برنامه نویسان پس از انجام مرحله کدنویسی از دیباگ استفاده می کنند. انجام این امر به توسعه دهندگان کمک می کند تا خطاها یا همان باگ های برنامه را پیدا کرده و آن ها را برطرف سازند. به عبارت دیگر، این کار به شما اجازه می دهد درون یک برنامه را مشاهده کنید و به مشکلات احتمالی آن پی ببرید.

گاهی اوقات، سخت ترین بخش Debugging، یافتن قسمت، دستور و یا کدی است که منجر به خطا شده است. بدین منظور، برنامه نویسان، درست همان طوری که یک پزشک، بیمارش را معاینه می کند، باید به بررسی کد های نوشته شده و علائم ارور بپردازند. برای این کار نیز سیستم هایی طراحی شده اند که تک تک کد های شما را تحت نظر می گیرند و به طور دائم در مورد پشت پرده وب سایت شما اطلاعات کسب می کنند.

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

فعال کردن دیباگ وردپرس

WP-Debug یک ثابت PHP است که می تواند حالت Debug را در وردپرس فعال یا غیر فعال کند و به طور پیش فرض غیر فعال می باشد. برای فعال کردن آن باید از طریق FTP یا cPanel به فایل های سایت دسترسی پیدا کنید.

۱.  ابتدا به پوشه Public_html رفته و فایل wp-config.php را بیابید. حال این فایل را برای ادیت کردن باز کنید.

فعال سازی حالت دیباگ در وردپرس

دیباگ وردپرس

۲. فایل wp-config.php شامل تنظیمات مربوط به سایت از جمله اطلاعات پایگاه داده و تنظیماتی که سرویس هاست شما اضافه کرده می باشد. برای فعال کردن حالت Debug، باید یکی از مقادیر موجود را تغییر دهید. فرمان زیر را در داخل فایل کانفیگ پیدا کنید (این فرمان معمولا در انتهای فایل یافت می شود):

define( 'WP_DEBUG' , false );

۳. حال با تغییر مقدار false به true می توانید حالت دیباگ را برای سایت وردپرس خود روشن کنید.

خطا های PHP

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

۱. عملکرد های منسوخ شده

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

۲. WP_DEBUG_LOG

فعال کردن دیباگ وردپرس

آموزش فعال سازی دیباگ در wordpress

این مورد نیز مکمل WP_DEBUG است و تمام خطا ها و اعلانات را به همراه ساعت و تاریخ ثبت، در فایل debug.log ذخیره می کند. این موضوع، در صورتی که می خواهید بعدا دوباره خطا ها را بررسی کنید بسیار پرکاربرد خواهد بود. این مقدار به طور پیش فرض غیر فعال است و برای فعال کردن آن کافیست فرمان زیر را به فایل wp-config.php اضافه کنید:

define( 'WP_DEBUG_LOG', true );

بدین ترتیب تمام پیام ها به صورت یک فایل لاگ در پوشه wp-content ذخیره خواهند شد. در صورتی ترجیح می دهید فایل لاگ در مسیر دیگری ذخیره شود، از مقدار زیر استفاده کنید و به جای مسیر پیش فرض، دایرکتوری دلخواه خود را وارد کنید:

define( 'WP_DEBUG_LOG', '/wp-content/debug.log' );

بدیهی است برای این که این فرمان کار خود را انجام دهد، ابتدا باید حالت دیباگ را در وردپرس فعال کرده باشید.

۳. WP_DEBUG_DISPLAY

یکی دیگر از مکمل های حالت Debug در وردپرس، WP_DEBUG_DISPLAY می باشد. این قابلیت نمایش داده شدن یا نشدن پیام ها در صفحات HTML را کنترل می کند و به طور پیش فرض فعال است. البته غالب افراد این قابلیت را غیر فعال می کنند چرا که مشاهده تمام پیام های خطا و دیگر اعلانات سایت، افزون بر خطرات امنیتی، برای بازدید کنندگان نیز چندان جالب نیست. برای این کار، فرمان زیر را به فایل کانفیگ وردپرس (wp-config.php) اضافه کنید:

define( 'WP_DEBUG_DISPLAY', false );

توجه کنید که در کنار این کار، باید WP_DEBUG_LOG را فعال کنید تا بتوانید پیام ها را در آینده بررسی کنید. برای اجرای این فرمان، فعال بودن حالت دیباگ الزامی است.

۴. SCRIPT_DEBUG

دستورهای فعال سازی دیباگ در وردپرس

کد های فعال سازی دیباگ در وردپرس

این مقدار نیز به حالت دیباگ وردپرس مربوط می شود اما کمی تخصصی تر است. وردپرس به طور پیش فرض از نسخه ساده شده برای کدنویسی استفاده می کند. در واقع با فعال کردن این قابلیت، می توانید از نسخه سازندگان CSS و جاوا اسکریپت استفاده کنید. این مسئله هنگام بررسی تغییرات اعمال شده در فایل های .js و .css اصلی سایت بسیار کاربرد دارد. برای فعالسازی، خط زیر را به فایل کانفیگ وردپرس اضافه کنید.

define( 'SCRIPT_DEBUG', true );

چند نکته که هنگام دیباگ وردپرس باید بدانید!

۱. فعال سازی گزارش خطای WPDP

برای شناسایی مشکلات مربوط به پایگاه داده، می توانید گزارش خطای WPDP را فعال کنید. شکل جهانی $wpdb دارای متغیری به نام $show_errors است. اگر این حالت را روی true تنظیم کنید، می‌توانید از این طریق وردپرس را مجبور کنید تا خطاهای SQL را برای هر پرس و جوی داده شده روی صفحه به شما نمایش دهد. برای فعال کردن این، به /public_html/wp-includes/wp-db.php خود بروید و فایل را باز کنید. wpdb را جستجو کنید و متغیر $show_errors را به true تغییر دهید.

۲. بررسی گزارش‌های خطای وب سایت

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

۳. استفاده از محیط آزمایشی وردپرس(WP staging) هنگام تنظیم کد

اگر می‌خواهید اشکالات موجود در سایت وردپرس خود را به حداقل برسانید، می‌توانید این کار را با اجرای کد ابتدا در یک سایت آزمایشی(WP staging) انجام دهید. یک سایت staging تقریباً شبیه سازی دقیق وب سایت زنده‌ی شما است و می‌تواند در زیر دامنه‌ی خصوصی شما میزبانی شود. این سایت به عنوان یک زمینه‌ی توسعه برای هر کدی که می‌خواهید برای سایت live خود فشار دهید عمل می‌کند. این محیط بیشتر برای بازدیدکنندگان و موتورهای جستجو قابل مشاهده نیست. بنابراین می‌توانید آزادی بیشتری برای بهینه‌سازی، تنظیم و آزمایش تغییراتی که می‌خواهید ایجاد کنید، بدون اینکه تأثیری بر سایت عمومی و زنده خود داشته باشید، فراهم کنید.

۴. بالا آوردن وب سایت در لوکال هاست

اگر وب سایت را در لوکال هاست خود بالا آورید، تغییرات را اعمال کنید، و خروجی بدون خطایی بگیرید، زمانی که تغیرات انجام شده را بر روی هاست ببرید، با کمترین خطا و مشکل برخورد خواهید داشت. نصب وب سایت بخصوصی در روزهای ابتدایی خلق آن بر روی لوکال هاست، گزینه بسیار ایمنی برای هر وبمستری می باشد.

۵. عیب یابی php

با استفاده از phpinfo می‌توانید خطاهای PHP را در مراحل اولیه‌ی اسکریپت‌های خود تشخیص دهید . این فایل می تواند اطلاعاتی در مورد وضعیت فعلی PHP، از جمله گزینه‌های کامپایل و پسوندها، نسخه، محیط، نسخه سیستم عامل، سرصفحه های HTTP و مجوز را خروجی دهد. برای انجام این کار، می توانید فایل php.ini را برای فعال کردن گزارش خطا پیکربندی کنید.

با این حال، برخی از خدمات میزبانی، از جمله طرح میزبانی مشترک هاستینگ، این گزینه را غیرفعال می‌کنند. بدین دلیل که شما دسترسی روت برای فعال کردن این ویژگی را ندارید. می‌توانید به جای آن از php کد استفاده کنید اما، می‌توانید به جای آن از جستجوگر کد PHP استفاده کنید، که به شما یک دستیار ساده برای بررسی خرابی‌ها در کدتان ارائه می‌کند. در ضمن برای بررسی دقیق تر، می‌توانید از IDE هایی مانند Eclipse یا PHPStorm نیز استفاده کنید.

۶. استفاده از برخی ابزارهای دیباگ وردپرس

اگر برای نظارت بر اشکال در سایت وردپرس خود به راه حل ساده‌تری نیاز دارید، می‌توانید از افزونه‌های اشکال زدایی وردپرس نیز استفاده کنید.

  • Query Monitor

مانیتور query یا پرس و جو برای اشکال زدایی وردپرس استفاده می‌شود. این افزونه یک پنل ابزار توسعه دهنده در وردپرس ارائه می‌دهد. می‌توانید پرس‌و‌جوهای پایگاه داده، خطاهای PHP، تماس‌های API HTTP، قلاب‌ها و اقدامات، توقف بلوک‌های ویرایشگر، اسکریپت‌ها و شیوه نامه‌های در نوبت و موارد دیگر را فعال کنید.

همچنین، می‌توانید از Debug Bar و Simply Show Hooks نیز برای رفع اشکال سایت وردپرس استفاده کنید. با این حال، این دو افزونه ممکن است مشکلات سازگاری با آخرین نسخه وردپرس داشته باشند.

  • New Relic

برنامه های جدید نظارت بر آثار برای اشکال زدایی وردپرس است. شما می‌توانید با استفاده از یک ابزار برتر مانند New Relic یک اشکال زدایی قوی تر انجام دهید. این برنامه به شما کمک می‌کند تا بر تجربه‌ی کاربر نظارت کنید، معماری وردپرس خود را ترسیم کنید، عملکرد سایت را تجزیه و تحلیل و بهبود ببخشید، و قبل از وقوع ناهنجاری ها، آن‌ها را تشخیص دهید.

همه این ویژگی‌ها به شما کمک می‌کنند تا داده‌ها را برای عیب‌یابی جمع‌آوری کنید و بتوانید بهترین تجربه ممکن را برای بازدیدکنندگان ارائه دهید. می توانید New Relic را به مدت 14 روز رایگان آزمایش کنید.

جمع‌بندی 

پس برای دیباگ وردپرس خود، می توانید موارد زیر را انجام دهید:

  1. WP_DEBUG را فعال کنید
  2. گزارش خطای WPDP را فعال کنید
  3. گزارش های خطای وب سایت خود را بررسی کنید
  4. هنگام تنظیم کد خود از محیط مرحله بندی وردپرس استفاده کنید
  5. SCRIPT_DEBUG را فعال کنید
  6. تشخیص خطاهای PHP
  7. از ابزارهای اشکال زدایی مانند Query Monitor یا New Relic استفاده کنید

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

سؤالات متداول

۱. آیا فعالسازی حالت دیباگ امنیت سایت را به خطر می اندازد؟

ذخیره کردن پیام ها و داده های جمع آوری شده از حالت Debug می تواند به عنوان نقطه ضعف سایت شما در مقابل هکر ها عمل کند. بدین منظور، توصیه می کنیم دسترسی به محل ذخیره این فایل را تنها به خودتان محدود کنید تا از ورود هکر ها و افراد متفرقه جلوگیری شود.

۲. آیا لازم است مقادیر true و false را داخل (‘) قرار دهیم؟

WP_DEBUG یک مقدار Boolean می باشد؛ مقادیر Boolean تنها می تواند یکی از دو ارزش صحیح یا غلط را به خود بگیرد. بدین ترتیب، نیازی نیست از علامت (‘) قبل و بعد آن استفاده کنید. در صورتی که مقدار آن به صورت (‘false’) نوشته شود، سیستم آن را true خواهد خواند. پس در وارد کردن مقدار دقت کنید.

۳. آیا روش دیگری برای فعالسازی حالت دیباگ وجود دارد؟

بله، امروزه برای هر کاری افزونه هایی وجود دارند و این امر نیز مستثنی نیست. افزونه های بسیاری هستند که می توانند در این زمینه به شما کمک کنند. در این آموزش صرفا به قابلیت پیش فرض خود وردپرس پرداختیم.

۴. چگونه فایل wp-config.php را ویرایش کنیم؟

به دایرکتوری مربوطه رفته و این فایل را دانلود کنید. سپس با استفاده از یک نرم افزار ویرایش متن، مانند Notepad، Sublime و … آن را باز کرده و طبق موارد گفته شده ویرایش کنید.

با خدمات ابری پارس پک آشنا شوید

اولین ارائه‌دهنده خدمات رایانش ابری در ایران هستیم