欢迎各位兄弟 发布技术文章
这里的技术是共享的
之前一直通过echo,var_dump,print_r等将变量输出来调试PHP,效率奇低。而使用Xdebug,就可以直接在IDE中调试PHP了。
如果不熟悉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"
这里用的IDE是PHPStorm,所以以下配置均根据PHPStorm进行,其他如Netbean和Eclipce类似。在PHPStorm中进入配置:
PHPStorm + Xdebug 调试PHP代码
Firefox浏览器可以安装 easy Xdebug ,Chrome上安装 Xdebug helper 。安装好后,在IDE Key 上填上 PHPSTORM (需要和配置一样)即可。
Firefox 下的 easy Xdebug 配置
Chrome 下的 Xdebug helper 配置
设置完成后,在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
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
折腾了整整一个下午,总算完成了phpStorm+XDebug的断点调试设置。下面情况针对本机进行调试,远程调试差距不大。
具体过程:
其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改
折腾了整整一个下午,总算完成了phpStorm+XDebug的断点调试设置。下面情况针对本机进行调试,远程调试差距不大。
具体过程:
其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改
之前一直通过echo,var_dump,print_r等将变量输出来调试PHP,效率奇低。而使用xdebug,就可以直接在IDE中调试PHP了。
请下载对应PHP版本的xdebug
1 2 3 | wget wget http: //xdebug .org /files/xdebug-2 .2.1.tgz tar xzvf xdebug-2.2.1.tgz cd xdebug-2.2.1 |
1 2 3 4 | /usr/local/webserver/php/bin/phpize . /configure -- enable -xdebug --with-php-config= /usr/local/webserver/php/bin/php-config make cp modules /xdebug .so /usr/local/webserver/php/lib/php/extensions/ |
修改 php.ini
, vi /usr/local/webserver/php/etc/php.ini
在最底下加入以下内容:
1 2 3 4 5 6 7 8 | [XDEBUG] zend_extension= "/usr/local/webserver/php/lib/php/extensions/xdebug.so" xdebug.remote_enable=on ; 此地址为IDE所在IP xdebug.remote_host=xxx.xxx.xxx.xxx xdebug.remote_port=9000 ; 可以是任意Key,这里设定为PHPSTORM xdebug.idekey= "PHPSTORM" |
我是用的IDE是PHPStorm,所以以下配置均根据PHPStorm进行,其他如Netbean和Eclipce类似
在Settings里面,选择PHP -> Debug,在xdebug里填入刚才设定的端口,确定即可。
设置好后,点击 Run -> Start Listen PHP Debug Connections 开启监听即可。
Firefox浏览器可以安装 easy Xdebug ,Chrome上安装 Xdebug helper 。安装好后,在 IDE Key
上填上 PHPSTORM
(需要和配置一样)即可。
设置完成后,在PHPStorm里添加相应的断点,然后用刚配置好的浏览器访问相应页面,首次打开PHPStorm会提示是否接收来自PHP所在服务器的连接。如下图,Debugger窗口已经出现了调试信息:
来自 http://www.tuicool.com/articles/AveAzu
运行环境:
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~
2.PHPSTORM设置
楼主以前一直用zendstudio,刚开始用phpstorm非常蛋疼,用了一段时间后发现还挺好用的~
1.首先检查phpstorm的xdebug配置
这里的debug port要和php.ini里面的 xdebug.remote_port相一致!默认是9000,如果9000端口被占用的话,可以改成其他端口。
2. 设置debug.
添加本地的 web server~
www.51open.pcom 是我本地的 web server~ ~
3.开始调试
打好第一个断点,shift + F9就可以了
打好 第一个断点 ,选中配置的debug, 按旁边的臭虫 按钮
总结:
根据断点配置,或在打开 Debug URL 的过程中,或在 POST 之后,如果 PhpStorm 监听到了 Debug 连接,就会立即切换到编辑器界面,并跳转到设置的断点处,浏览器端会等待 PhpStorm 的操作。
你可以随时中断 PhpStorm 的调试,或方便的进行 Step Into / Step Over / Run to cursor(这个刁爆了):
哎呀,不想调试了,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~
2.PHPSTORM设置
楼主以前一直用zendstudio,刚开始用phpstorm非常蛋疼,用了一段时间后发现还挺好用的~
1.首先检查phpstorm的xdebug配置
这里的debug port要和php.ini里面的xdebug.remote_port相一致!默认是9000,如果9000端口被占用的话,可以改成其他端口。
2. 设置debug.
添加本地的 web server~
www.51open.pcom 是我本地的 web server~ ~
3.开始调试
打好第一个断点,shift + F9就可以了
打好第一个断点,选中配置的debug, 按旁边的臭虫 按钮
来自 https://my.oschina.net/yearnfar/blog/350051