500 错误
下面我们对开发环境(Apache)做一些配置,使其返回错误提示:
修改配置文件 vi /etc/php/7.0/apache2/php.ini
使得:
display_errors = On
error_reporting = E_ALL | E_STRICT
修改 apache 配置 vi /etc/apache2/apache2.conf
添加以下行:
php_flag display_errors on
php_value error_reporting 2039
重启 apache 后,错误提示如下:
本节参考链接
Xdebug
Xdebug 提供了各种自带的函数,并对已有的某些 PHP 函数进行覆写,可以方便地用于调试排错; Xdebug 还可以跟踪程序的运行,通过对日志文件的分析,我们可以迅速找到程序运行的瓶颈所在,提高程序效率,从而提高整个系统的性能。
ubuntu 下的安装
apt-get install php-xdebug
查看模块情况
php -m
重启 Apache
sudo service apache2 restart
返回的错误
xbebug 对 var_dump()
的覆写
我们关闭 xdebug ,那么
<?php
$arrTest = array(
"test"=>"abc",
"test2"=>"abc2"
);
echo '<pre>';
var_dump( $arrTest );
echo '</pre>';
var_dump( $arrTest );
输出结果看起来是这样的:
打开 xdebug ,同样的 php 文件
输出结果好看多了
本节参考链接
phpstorm 配置 xdebug
首先 xdebug 已经安装好了。
phpinfo()
找到 xdebug 有一个设置文件在 /etc/php/7.0/apache2/conf.d/20-xdebug.ini
设置如下:
xdebug.remote_enable = on
xdebug.idekey=PHPSTORM
xdebug.remote_port= 9000
xdebug.remote_host = localhost
xdebug.remote_host
是 xdebug 远程调试时要连接的主机地址。用本机开发的话填 “localhost” 就可以了,如果开发环境在远程,比如,在 vritualbox 的虚机里,你需要让虚拟机中的 Xdebug 连接上你本地,地址类似 “192.168.1.1”
xdebug.remote_port
是 xebug 远程调试时要连接的端口号
然后重启下 apache
打开 phpStorm 打开设置面板(windows Ctrl+Alt+S)
“Languages & Frameworks -> PHP -> Debug” ,端口改成 “9000”
然后设置 Remote Web Server
“Run -> Web Server Debug Validation”, 选择 “Remote Web Server”
现在还没有“Deployment server”,点右侧的 “…”, 新增一个。详细的图文可以参考下面的链接。这步的目的是让 phpstorm 可以操作你的文件。
下面我们需要给浏览器装一个辅助工具,比如 xdebug Helper
调试过程
在 phpStorm 中开启监听端口
点击电话状图标
使其变成
然后设置断点
回到 chrome 中,打开要调试的页面,然后点击刚刚安装的虫子按钮,使其变绿。
如果一切顺利,刷新页面,程序会暂停在断点处。
本节参考链接
Phpstorm 配置 Xdebug 断点调试教程
PHP调试工具-Xdebug
原理
本节参考链接
成为高级 PHP 程序员的第一步——调试(xdebug 原理篇)