这篇文章主要介绍了phpStorm+XDebug+chrome 配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
运行环境:
phpStorm 10.0.1
PHP 5.6.24VC11 x86 Thread Safe
Xdebug 2.4.1(PHP 5.6 VC11 TS (32 bit)
1. PHP安装xdebug扩展
因为是自己搭建的php环境,所以需要在php.ini上添加一下配置:
[xdebug]
zend_extension="F:\AppServ\php5\ext\php_xdebug-2.4.1-5.6-vc11.dll" #指定Xdebug扩展文件的绝对路径
xdebug.auto_trace=on #启用代码自动跟踪
xdebug.collect_params=on #允许收集传递给函数的参数变量
xdebug.collect_return=on #允许收集函数调用的返回值
xdebug.trace_output_dir="F:\AppServ\Xdebug" #指定堆栈跟踪文件的存放目录
xdebug.profiler_enable=on #是否启用Xdebug的性能分析,并创建性能信息文件
xdebug.profiler_output_dir="F:\AppServ\Xdebug" #指定性能分析信息文件的输出目录
xdebug.remote_enable = on #是否开启远程调试
xdebug.remote_handler = dbgp #指定远程调试的处理协议
xdebug.remote_host= localhost #指定远程调试的主机名
xdebug.remote_port = 9000 #指定远程调试的端口号
xdebug.idekey = PHPSTORM #指定传递给DBGp调试器处理程序的IDE Key
2.保存php.ini,重新启动apache检查是否成功开启了xdebug服务.
3. 打开phpStorm,快捷键Clt+Alt+S打开settings搜索Xdebug.
如果在上级菜单栏->PHP中phpStorm没有自动识别php版本,则自己手动添加
4.进入Settings>PHP>Debug>DBGp Proxy,IDE key填PHPSTORM,host填localhost,port填9000
5.进入Settings>PHP>Servers,这里要填写服务器端的相关信息,如:name填localhost,host填localhost,port填80,debugger选XDebug
6.进入Run> Debug configurations,点+号选择PHP Web Application,Server选填localhost,Start URL填你要访问的页面(如:/index.php),Browser 默认或者选chrome
其实5和6的步骤可以一气呵成
在导航栏中(没有显示则设置View->Navigation Bar)选择Edit Configurations...
7.打开浏览器,如果是用chrome或者Firefox可以找到对应的XDebug工具,工具的设置里的IDE KEY填上phpStorm,把localhost加入到白名单,以后调试的时候把工具启用就好了。如果是用其他浏览器,可以访问http://www.jetbrains.com/phpstorm/marklets/,在右边填上phpStorm,点generate,把下面的链接添加到收藏夹,方便调用。
我用的是这款
8.好了,这下都配置好了,开始断点测试吧。在phpStorm里打开Debug监听,就是电话按钮那个,然后在代码前断点,点击绿色的debug爬虫按钮,chrome浏览器打开xdebug页,phpStorm出现debug窗口
出现如图,证明你配置成功了。
其它
安装wincachegrind由于效能监测文件:cachegrind.out.×××文件的内容不易被理解,可以用工具wincachegrind来读取它。
1)、下载安装wincachegrind
2)、安装运行后,点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值)这样就可以比较直观的查看效能监测文件的信息了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
本文标题为:phpStorm+XDebug+chrome 配置详解
基础教程推荐
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP命名空间简单用法示例 2022-12-01
- PHP中的错误及其处理机制 2023-06-04
- 使用PHP开发留言板功能 2023-03-13
- php array分组,PHP中array数组的分组排序 2022-08-01
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12