大神教你:xdebug和最重要的php调试技巧

好几年没有写PHP代码了,最近写了一些。我比较厌烦php,主要是调试麻烦,要按无数次F5,经常刷出空白. 以前调试总是依赖于在代码中加入下面两行:

error_reporting(E_ALL ^ E_NOTICE); ini_set('display_errors', 1);

通常情况下,是 写代码-->F5-->刷出白板,然后翻箱倒柜的找出上面两条code,加入config.inc.php当中,这样特别浪费精力,很不爽;

最近研究这个问题,发现要让php错误显示,只需要修改php.ini当中的2条指令,把 displayerrors和htmlerrors都设置为On,如下所示:

html_errors = On display_errors = On

当然如果你要需要查看更多信息,比如说打印调用栈,哪就需要安装xdebug,这个对于比较复杂的代码系统特别有帮助。

xdebug 安装步骤

xdebug是php的一个module,需要编译安装,我用lnmp安装的php,php被默认安装到/usr/local/php,然后做一个硬链接到/usr/bin

先编译xdebug

wget http://www.xdebug.org/files/xdebug-2.2.3.tgz tar xzf xdebug-2.2.3.tgz cd xdebug-2.2.3 /usr/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config

修改php.ini配置,把下面这些加入

;no-debug-non-zts-20090626 这个文件夹名称和php版本是一一对应的 zend_extension= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" xdebug.default_enable = On xdebug.show_exception_trace = On xdebug.show_local_vars = 1 xdebug.max_nesting_level = 50 xdebug.var_display_max_depth = 6 xdebug.dump_once = On xdebug.dump_globals = On xdebug.dump_undefined = On xdebug.dump.REQUEST = * xdebug.cli_color = 2

重启php-fpm,随便写段错误的php代码,刷新浏览器,就能看到错误提示。

原文来自:http://www.linuxde.net/2013/08/15039.html

本文地址:https://www.linuxprobe.com/xdebug-php.html

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180724A0J61E00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券