PHPStorm + Xdebug 调试PHP代码
之前一直通过echo,var_dump,print_r等将变量输出来调试PHP,效率奇低。而使用Xdebug,就可以直接在IDE中调试PHP了。
安装和配置XDEBUG
如果不熟悉Xdebug安装与配置的,可以参考《Windows下 Xdebug PHP 性能调试工具配置与使用方法》,按照文章中安装和配置完Xdebug后,再修改 php.ini ,再添加下面关联PHPStorm内容:
[Xdebug] zend_extension="/usr/local/webserver/php/lib/php/extensions/xdebug.so" xdebug.remote_enable=on ; 此地址为IDE所在IP,本机为 127.0.0.1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; 可以是任意Key,这里设定为PHPSTORM xdebug.idekey="PHPSTORM"
配置 PHPStorm IDE
这里用的IDE是PHPStorm,所以以下配置均根据PHPStorm进行,其他如Netbean和Eclipce类似。在PHPStorm中进入配置:
PHPStorm + Xdebug 调试PHP代码
配置浏览器
Firefox浏览器可以安装 easy Xdebug ,Chrome上安装 Xdebug helper 。安装好后,在IDE Key 上填上 PHPSTORM (需要和配置一样)即可。
Firefox 下的 easy Xdebug 配置
Chrome 下的 Xdebug helper 配置
开始DEBUG
设置完成后,在PHPStorm里添加相应的断点,然后用刚配置好的浏览器访问相应页面,首次打开PHPStorm会提示是否接收来自PHP所在服务器的连接。如下图,Debugger窗口已经出现了调试信息:
PHPStorm Xdebug 显示
作者观点与本站无关,转载需保留E维科技及本文链接,并获得V-Get!授权。未经授权,严禁转载!
来自 http://e.v-get.com/tech/20131120/1655481151.html
来自 http://solf.me/debug-php-with-xdebug-in-phpstorm/
来自 http://solf.me/debug-php-with-xdebug-in-phpstorm/
来自 http://jikewu.com/2013/08/15/phpstorm%E8%B0%83%E8%AF%95-php-web-%E5%BA%94%E7%94%A8/
来自 http://blog.csdn.net/edisonkun/article/details/7888569
phpstorm + xdebug 远程断点调试,详解。
XDEBUG配置:
1.安装 xdebug 略了。网上有很多资料。
重点写php.ini的配置
[XDebug]
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.default_enable = On
xdebug.collect_params = On
xdebug.remote_connect_back = On //如果开启此,将忽略下面的 xdebug.remote_host 的参数。 <一台webserver有多个开发者的工作目录的时候使用,如:p1.xx.com,p2.xx.com,p3.xx.com 。。。等。 >
xdebug.remote_host = 192.168.59.104 //注意这里是,客户端的ip<即IDE的机器的ip,不是你的web server>
xdebug.remote_port = 9900 // 注意这里是,客户端的端口<即IDE的机器的ip,不是你的web server>
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_log = "/var/www/xdebug/xdebug.log"
xdebug.remote_req = req
xdebug.auto_trace = Off
xdebug.remote_autostart = On
xdebug.show_exception_trace = 0
xdebug.collect_vars = On
xdebug.collect_return = On
xdebug.collect_params = On
xdebug.var_display_max_depth = 15
xdebug.show_local_vars = 1
xdebug.dump_undefined = 1
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = /var/www/xdebug
PHPSTORM 配置:
1.file->setings->php|Debug右侧。xdebug的那一块。 设置Debug port:9900(这里设置 的是,xdebug 吐出的debug信息,通过本机的什么端口传输。)
2.file->setings->php|Servers 右侧。 host: 你的web服务器的域名或ip ,端口, 下面的 use path mapping 意的是,你的项目的目录,对应服务器上的,什么目录? 这里一定要设置哦! 不然,会发生找不到文件而出错,导至调试终止。
3.Run->Edit Configurations-> 增加一个 PHP WEB APPlication 的调试点。 右侧: server 选择你上面建立的server. starturl 设置你的入口文件。
至此,配置完毕!
这样的请求,可以注册一个调试客户端哦!
http://www.aihuxi.com/****.php?XDEBUG_SESSION_START=19192
点击,小虫子图标,即可,开始调试!
来自 http://blog.csdn.net/edisonkun/article/details/7888569
XAMPP环境下用phpStorm+XDebug进行断点调试的配置
折腾了整整一个下午,总算完成了phpStorm+XDebug的断点调试设置。下面情况针对本机进行调试,远程调试差距不大。
具体过程:
- 服务器端(本地调试的情况下就是在本机)安装好XAMPP,停止apache服务(注意,如果直接退出XAMPP,是不会停止apache的)
- 在安装目录下找到php.ini,类似于D:xamppphpphp.ini,并打开
- 找到被注释掉的项目并按如下设置:
其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改
- zend_extension = "D:xamppphpextphp_xdebug.dll"(根据实际情况确定)
- xdebug.remote_enable =1
- xdebug.remote_handler = "dbgp"
- xdebug.remote_host = "localhost"
- xdebug.remote_mode = "req"
- xdebug.remote_port = 9000
- 保存文件,打开apache,这时候在CMD里输入 D:xamppphpphp.exe -m 看到XDebug,说明开启成功。至此,服务器端配置完毕
- 下面是客户端调试,打开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退出设置。
- 打开浏览器,如果是用chrome或者Firefox可以找到对应的XDebug工具,工具的设置里的IDE KEY填上phpStorm,把localhost加入到白名单,以后调试的时候把工具启用就好了。如果是用其他浏览器,可以访问http://www.jetbrains.com/phpstorm/marklets/,在右边填上phpStorm,点generate,把下面的链接添加到收藏夹,方便调用。
- 在phpStorm里打开监听,就是一个电话一样的按钮。
- 在浏览器里打开XDebug工具,访问localhost,与phpStorm连接成功!
XAMPP环境下用phpStorm+XDebug进行断点调试的配置
折腾了整整一个下午,总算完成了phpStorm+XDebug的断点调试设置。下面情况针对本机进行调试,远程调试差距不大。
具体过程:
- 服务器端(本地调试的情况下就是在本机)安装好XAMPP,停止apache服务(注意,如果直接退出XAMPP,是不会停止apache的)
- 在安装目录下找到php.ini,类似于D:xamppphpphp.ini,并打开
- 找到被注释掉的项目并按如下设置:
其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改
- zend_extension = "D:xamppphpextphp_xdebug.dll"(根据实际情况确定)
- xdebug.remote_enable =1
- xdebug.remote_handler = "dbgp"
- xdebug.remote_host = "localhost"
- xdebug.remote_mode = "req"
- xdebug.remote_port = 9000
- 保存文件,打开apache,这时候在CMD里输入 D:xamppphpphp.exe -m 看到XDebug,说明开启成功。至此,服务器端配置完毕
- 下面是客户端调试,打开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退出设置。
- 打开浏览器,如果是用chrome或者Firefox可以找到对应的XDebug工具,工具的设置里的IDE KEY填上phpStorm,把localhost加入到白名单,以后调试的时候把工具启用就好了。如果是用其他浏览器,可以访问http://www.jetbrains.com/phpstorm/marklets/,在右边填上phpStorm,点generate,把下面的链接添加到收藏夹,方便调用。
- 在phpStorm里打开监听,就是一个电话一样的按钮。
- 在浏览器里打开XDebug工具,访问localhost,与phpStorm连接成功!