phpstorm+Xdebug断点调试PHP
phpstorm+Xdebug断点调试PHP
我的php.ini
==========================================
[XDebug]
zend_extension="F:\PHPTutorial\php\php-7.0.12-nts\ext\php_xdebug-2.7.0beta1-7.0-vc14-nts.dll"
xdebug.profiler_output_dir="F:\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="F:\PHPTutorial\tmp\xdebug"
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "192.168.15.47"
xdebug.remote_mode = "req"
xdebug.remote_port = 9002
xdebug.remote_autostart = 1
xdebug.idekey=PhpStorm
=========================================================
版权声明:本文为博主原创文章,转载请说明出处。 https://blog.****.net/ty_hf/article/details/50768702
前言:
何为DEBUG?
相信很多程序员都知道debug这个单词,也明白它的意思,但是对于这词的由来,恐怕少有人知道。关于debug的由来,要追溯到1937年。1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿的行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家格蕾丝·莫雷·赫伯,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为程序除错的意思。
(本文为windows下的安装流程,mac 版的童鞋可查看:mac下phpstorm+Xdebug断点调试PHP)
官方给出的步骤:
Zero-configuration Web Application Debugging with Xdebug and PhpStorm
运行环境:
PHPSTORM版本 : 8.0.1
PHP版本 : 5.6.2
xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll
ps : php版本和xdebug版本一定要相对应
1. PHP安装xdebug扩展
php.ini的配置,下面的配置仅供参考,路径要换成自己的!
-
[xdebug]
-
zend_extension="D:\wamp\php-5.6.2-x64\ext\php_xdebug-2.2.5-5.6-vc11-x86_64.dll"
-
xdebug.remote_enable = On
-
xdebug.remote_handler = dbgp
-
xdebug.remote_host= localhost
-
xdebug.remote_port = 9000
-
xdebug.idekey = PHPSTORM
ps : remote_handler 、remote_host、remote_port 这些都有默认值,但还是建议设置下,至少知道要设置这些参数~
查看phpinfo~
【或者使用PHPstudy:其他选项菜单/PHP扩展设置/PHP扩展/XDEBUG打上对钩】
2.PHPSTORM设置
楼主以前一直用zendstudio,刚开始用phpstorm非常蛋疼,用了一段时间后发现还挺好用的~
1.首先检查phpstorm的xdebug配置
这里的debug port要和php.ini里面的xdebug.remote_port相一致!默认是9000,如果9000端口被占用的话,可以改成其他端口。
phpstorm配置
- 客户端调试,打开phpStorm,进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug
- 进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认
- 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
- 点OK退出设置。
2. 设置debug.
添加本地的 web server~
www.mall.com是我本地的服务
3.开始调试
-
打好第一个断点,shift + F9就可以了
-
打好第一个断点,选中配置的debug, 按旁边的臭虫 按钮
或者还是看不懂,好吧,那请看下面链接:
常见问题:
-
Debug session was finished without being paused
-
It may be caused by path mappings misconfiguration or not synchronized local and remote projects.
-
To figure out the problem check path mappings configuration for 'www.test.com' server at PHP|Servers or enable Break at first line in PHP scripts option (from Run menu).
没有打断点或者调试没有被监测到,碰到这个问题,看看路径配置对了吗是否能访问到
本文地址:http://blog.****.net/ty_hf/article/details/50768702
========================================
PHPStorm 中配置 XDebug 实现断点调试
2017年04月05日 21:33:24 flyingdream123 阅读数:17380更多
个人分类: PHP
引用:http://laichuanfeng.com/work/configuring-xdebug-with-phpstrom/
在 PhpStorm 中,配合使用 Xdebug ,可以很方便的实现断点调试
1、下载 Xdebug
如果你是使用 XAMPP 的环境,系统已经自带 Xdebug,你可以下载最近版本覆盖或者跳过进入第二步。
下载地址:https://xdebug.org/download.php,首先确定你的 PHP 版本,使用phpinfo()
查看 PHP 版本信息,然后下载对应的 Xdebug 版本
下载完成后,如果是 XAMPP 环境,建议放置于 xampp/php/ext 文件夹中,方便管理:
2、php.ini 中开启 Xdebug 配置
打开 php.ini,找到 Xdebug 的配置( XAMPP 在最底部,被注释),如果没有,请手动添加。
1 2 3 4 5 6 7 |
[XDebug] zend_extension="C:\xampp\php\ext\php_xdebug-2.3.3-5.5-vc11.dll" xdebug.profiler_enable=1 xdebug.profiler_output_dir="C:\xampp\tmp" xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.remote_host="yokena.com" |
其中xdebug.remote_host
代指本地为网站配置的虚拟域名,xdebug.remote_port
为调试监听商品,通常使用默认的 9000 端口。
3、检查 Xdebug的安装情况
在 PhpStorm 中,File>Setting 打开系统设置,然后如下图进入 PHP 的编译器设置,如果能看到 Xdebug 的信息,说明安装成功:
或者使用phpinfo()
查看 Xdebug 配置信息:
4、PhpStorm 的进一步配置
用上一步的方法,打开 PhpStorm 中 PHP>Debug 的设置,“Debug port”与“xdebug.remote_port”一致,并且允许外部连接(浏览器XDebug插件):
并且在 PHP>Servers 中,将对应服务器的调试工具修改为“Xdebug”,如果没有,请创建。这里的 “Port” 为服务器运行端口,默认为 80 端口,请不要修改成调试的 9000端口:
5、服务器调试配置确认
Run>Web Server Debug Validation,完成配置的填写,点击“Validate”按钮即可验证服务器的调试配置是否正确:
6、安装Chrome的XDebug插件
6、第一次调试
打开需要调试的网站,开启 Xdebug 插件的 Debug 功能:
打开 PhpStorm 的 debug 监听功能,在文件中放置断点:
运行我们需要调试的页面,PhpStorm 便可自动监听并开启调试模式:
并且 Xdebug 插件还对var_dump()
的输出进行了美化,对于日常简单调试也是很有帮助的:
小结
PhpStorm 结合 Xdebug,是调试 PHP 网页应用的利器,流程追踪,变量查看,堆栈信息。不用辛苦的到处写var_dump()
又删除,只需要打上断点,获取如 VS 调试 .Net 的快感,使 Debug 更快捷,更方便,更高效。