阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

1次阅读
没有评论

共计 1113 个字符,预计需要花费 3 分钟才能阅读完成。

好几年没有写 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 代码,刷新浏览器,就能看到错误提示。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-12-19发表,共计1113字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中