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

=========================================================

个人分类: 资源工具PHP技巧

版权声明:本文为博主原创文章,转载请说明出处。 https://blog.csdn.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版本一定要相对应

 点击下载Xdebug

1. PHP安装xdebug扩展

php.ini的配置,下面的配置仅供参考,路径要换成自己的!

 

 
  1. [xdebug]

  2. zend_extension="D:\wamp\php-5.6.2-x64\ext\php_xdebug-2.2.5-5.6-vc11-x86_64.dll"

  3. xdebug.remote_enable = On

  4. xdebug.remote_handler = dbgp

  5. xdebug.remote_host= localhost

  6. xdebug.remote_port = 9000

  7. 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.开始调试

  1. 打好第一个断点,shift + F9就可以了

  2. 打好第一个断点,选中配置的debug,  按旁边的臭虫 按钮

 

 

或者还是看不懂,好吧,那请看下面链接:

http://wenku.baidu.com/link?url=osFXlDZtbYW2yOxJYwKukXButWW647d2d87-d69F56FmbU1Wi7YNK-KCGcrL-car-o1U_r2Y0xkXnqoZw2I87FsKdMb7Z9N9pZZvB1a8Lrq

 

常见问题:

 

 
  1. Debug session was finished without being paused

  2. It may be caused by path mappings misconfiguration or not synchronized local and remote projects.

  3. 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.csdn.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,你可以下载最近版本覆盖或者跳过进入第二步。

Xdebug-LocationXAMPP 自带 Xdebug 的路径

 

下载地址:https://xdebug.org/download.php,首先确定你的 PHP 版本,使用phpinfo()查看 PHP 版本信息,然后下载对应的 Xdebug 版本

phpinfo()PHP 版本信息

下载完成后,如果是 XAMPP 环境,建议放置于 xampp/php/ext 文件夹中,方便管理:
xdebug-location

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 的信息,说明安装成功:

verify-xdebug-phpstormPhpStorm 中的 PHP 编译器设置

或者使用phpinfo()查看 Xdebug 配置信息:

verify-xdebug-phpinfophpinfo() 中的 XDebug 配置信息

4、PhpStorm 的进一步配置

用上一步的方法,打开 PhpStorm 中 PHP>Debug 的设置,“Debug port”与“xdebug.remote_port”一致,并且允许外部连接(浏览器XDebug插件):

php-serversPhpStorm 中的服务器设置

并且在 PHP>Servers 中,将对应服务器的调试工具修改为“Xdebug”,如果没有,请创建。这里的 “Port” 为服务器运行端口,默认为 80 端口,请不要修改成调试的 9000端口:

phpstorm-php-debugPhpStorm 中配置 Xdebug 调试端口

5、服务器调试配置确认

validate-debug-cofnig验证 PhpStorm 的服务器配置

Run>Web Server Debug Validation,完成配置的填写,点击“Validate”按钮即可验证服务器的调试配置是否正确:

6、安装Chrome的XDebug插件

参考链接:Install Xdebug Helper

6、第一次调试

打开需要调试的网站,开启 Xdebug 插件的 Debug 功能:
debug-enbale

打开 PhpStorm 的 debug 监听功能,在文件中放置断点:
phpstorm-breakpoint

运行我们需要调试的页面,PhpStorm 便可自动监听并开启调试模式:

phpstorm-debug使用 Xdebug 断点调试

并且 Xdebug 插件还对var_dump()的输出进行了美化,对于日常简单调试也是很有帮助的:
xdebug-var-dump

小结

PhpStorm 结合 Xdebug,是调试 PHP 网页应用的利器,流程追踪,变量查看,堆栈信息。不用辛苦的到处写var_dump()又删除,只需要打上断点,获取如 VS 调试 .Net 的快感,使 Debug 更快捷,更方便,更高效。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值