[PHP] hinkPHP必须掌握的调试方法 →→→→→进入此内容的聊天室

来自 , 2020-05-28, 写在 PHP, 查看 110 次.
URL http://www.code666.cn/view/36ed197b
  1. 1、在项目配置文件里面打开调试模式DEBUG_MODE,这样能够让你发现大部分的错误原因 。
  2. //1.确定应用名称 App
  3.         define('APP_NAME','Home');
  4.         //2.确定应用路径
  5.         define('APP_PATH','./Home/');
  6.         //3.开启调试模式
  7.         define('APP_DEBUG',true);
  8. 2、如果不想使用调试模式,可以单独开启页面Trace显示。发现很多人不想使用调试模式的原因居然是因为有页面Trace信息的输出,其实这里面有一个误区,以为调试模式就一定会有页面Trace,但其实调试模式和页面Trace没有必然的关系,只是因为打开调试模式后,系统默认的调试配置文件会开启页面Trace显示,所以你完全可以给项目单独定义调试配置文件。
  9. 'SHOW_PAGE_TRACE'=>'true',
  10. 3、使用系统定义的dump函数,该方法同var_dump可以输出任何类型的变量信息,而且更加有利于在浏览器里面查看,例如:
  11.  
  12. 查看代码打印
  13. 1
  14. $User=D("User");
  15. 2
  16. $list=$User->findAll();
  17. 3
  18. dump($list);
  19. 4、页面Trace信息只能显示当前页面执行的sql语句,但无法查看ajax方式执行的后台操作里面的sql语句,所以你还可以开启sql日志记录SQL_DEBUG_LOG来记录每一条执行的sql语句,并且可以查看到每条sql语句的执行时间 sql日志文件位于Logs目录下面,会自动按日期来区分每天的sql日志。
  20.  
  21. 5、另外一个是在执行某个数据操作后怀疑sql执行有错误的话,可以使用模型类的getLastSql方法来查看上次执行的sql语句,以便分析具体的错误原因。例如:
  22.  
  23. 查看代码打印
  24. 1
  25. $User=D("User");
  26. 2
  27. $User->id=3;
  28. 3
  29. $User->name='ThinkPHp';
  30. 4
  31. $User->save();
  32. 5
  33. echo $User->getLastSql();
  34. 6
  35. //输出结果将为:update think_user set name='ThinkPHP' where id=3;
  36. 6、当需要调试某段代码的运行时间的时候,可以使用系统提供的debug_start($label)和debug_end($label)方法,例如:
  37.  
  38. 查看代码打印
  39. 1
  40. debug_start('demo');
  41. 2
  42. //这里是你的代码段.......debug_end('demo');
  43.  

回复 "hinkPHP必须掌握的调试方法"

这儿你可以回复上面这条便签

captcha