دیباگ در PHP

- 2 هفته پیش
توسط Alimotreb آپدیت شد
علی ( 7146 تجربه )
2 هفته پیش

سلام بچه ها یه اپلیکیشنی که با PHP نوشته شده رو چجوری دیباگ باید بکنیم ؟
توی لاراول مثلا یه راه استفاده از dd هست که هر مرحله رو چک کنیم
ولی فکر نکنم راه خوبی باشه
چیکار باید بکنیم برای دیباگ اپلیکیشن های که با PHP نوشته شدن

بهترین پاسخ انتخاب شده توسط علی
علی بیات
2 هفته پیش

اگر در حین اجرای کد به خطا بخورید، php یه چیزهایی بهتون میگه. و با دستورات زیر تمام خطاها و اخطارهارو گزارش میکنه.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

مستندات تابع error_reporting رو در سایت PHP چک کنید:
https://www.php.net/manual/en/function.error-reporting.php

در غیر این صورت اگر IDE خطای شما رو پیدا نکرد باید با var_dump کار کنید و باگ رو پیدا کنید. بعضی موارد هم میان از کنسول استفاده میکنند:


function console_log( $data ){
  echo '<script>';
  echo 'console.log('. json_encode( $data ) .')';
  echo '</script>';
}

Usage:
$myvar = array(1,2,3);
console_log( $myvar ); // [1,2,3]

یک اکستنشن هم برای دیباگ PHP هست به نام Xdebug که من باهاش کار نکردم اما میتونی سری به سایتش بزنی
https://xdebug.org/

علی بیات ( 75322 تجربه )
2 هفته پیش

اگر در حین اجرای کد به خطا بخورید، php یه چیزهایی بهتون میگه. و با دستورات زیر تمام خطاها و اخطارهارو گزارش میکنه.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

مستندات تابع error_reporting رو در سایت PHP چک کنید:
https://www.php.net/manual/en/function.error-reporting.php

در غیر این صورت اگر IDE خطای شما رو پیدا نکرد باید با var_dump کار کنید و باگ رو پیدا کنید. بعضی موارد هم میان از کنسول استفاده میکنند:


function console_log( $data ){
  echo '<script>';
  echo 'console.log('. json_encode( $data ) .')';
  echo '</script>';
}

Usage:
$myvar = array(1,2,3);
console_log( $myvar ); // [1,2,3]

یک اکستنشن هم برای دیباگ PHP هست به نام Xdebug که من باهاش کار نکردم اما میتونی سری به سایتش بزنی
https://xdebug.org/

Alimotreb ( 54862 تجربه )
2 هفته پیش

سلام
@alif

سمت سرور که ببریدش
تو محل پروژتون اگر اروری داشته باشه که حالت warning هم باشه
در فایل error_log قابل مشاهده هست.

برای ارسال پاسخ باید وارد سایت شوید