共计 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 代码,刷新浏览器,就能看到错误提示。
正文完
星哥玩云-微信公众号