配置好xdebug,也能使得phpstorm像java哪像跑断点调试,爽的一笔!!!

下载xdebug并配置

[XDebug]
zend_extension=php_xdebug-2.4.0rc3-5.6-vc11-nts.dll
xdebug.collect_params = ;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.collect_return = on ;收集函数返回值
xdebug.profiler_enable= ;打开效能监测器
xdebug.profiler_enable_trigger = ;不自动打开,触发打开
xdebug.auto_trace=on ;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
xdebug.auto_profile = on ;自动打开性能检测
xdebug.trace_output_dir="F:/php/xdebug/trace_dir" ;设定函数调用监测信息的输出文件的路径
xdebug.profiler_output_dir="F:/php/xdebug/profiler_dir"
xdebug.profiler_output_name = "cachegrind.out.%p" ;设定效能监测信息输出文件的路径
xdebug.remote_enable=on ;远程调试打开
xdebug.remote_handler=dbgp ;远程头请求方式
xdebug.remote_host=localhost ;远程地址,指的是连接本php所在服务器的客户端ip
xdebug.remote_port= ;远程端口号

设置phpstorm

有4处设置

菜单栏,file->settings->php下有3处,分别是:

》Servers

name内容随便,其他由于是本机本地项目,所以localhost,80,debug。

》debug

debug port保持和php.ini里配置的remote_port相同

》dbgp proxy

idekey保持和php.ini一致,主机端口和server一样

第4个配置

图1:

图2:

图1右上角的三个圈圈,第一个红色,选择里面的edit configure弹出图2,新建配置php web application的选项即可,具体内容见上图图2。

开始

图1右上角紫色圈圈,点击切换绿色,启动调试监听,点击第二个蓝色圈圈即可启动调试。

注意:本地的web服务器要开启,比如nginx,apache等,监听80端口。

xdebug原理

参考http://www.softown.cn/post/117.html

使用Zend Studio或其他客户端(下面统称"客户端")通过Xdebug进行远程调试时,客户端就会监听Xdebug调试器(Zend Studio已内置)设置的调试端口(默认为9000),并在当前调试的URL后面加上了XDEBUG_SESSION_START的请求参数,参数值为客户端标识(相当于用户名,用以区别不同的客户端),然后向PHP服务器发送请求,例如:

http://localhost/index.php?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=13986635740313
当PHP服务器的Xdebug模块检测到请求URL中带有XDEBUG_SESSION_START参数时,则将该请求的响应挂起,并自动进入调试模式。此时,Xdebug将会尝试以指定的协议(一般是DBGP)与Xdebug配置中指定的地址xdebug.remote_host:xdebug.remote_port建立连接。 如果没有特殊设置,xdebug.remote_host默认为localhost,xdebug.remote_port默认为9000,默认的连接地址即是localhost:。
默认配置下,Xdebug只能为一个客户端提供远程调试服务,如果想要为多个客户端提供远程调试服务,则需要设置xdebug.remote_connect_back = 。
当客户端和Xdebug建立DBGP连接后,客户端就可以为我们提供远程调试服务了,远程调试会话开启流程如下图所示:

 

phpStorm中使用xdebug断点调试php代码的更多相关文章

  1. PhpStorm使用之 —— Xdebug断点调试

    PhpStorm使用之 -- Xdebug断点调试 在<XAMPP的配置与使用>中已经阐述了Xdebug插件的配置,Xdebug配置完成后,只需要在IDE工具中进行相关设置,便可启动Xde ...

  2. phpStorm中使用xdebug工具调试docker容器中的程序

    前提准备 phpstorm开发软件 + dnmp(docker + nginx + mysql +php) 配置好hosts 映射比如 /etc/hosts      127.0.0.1 tp5.de ...

  3. Mac: phpstorm中使用xdebug调试php

    Mac: phpstorm中使用xdebug调试php###phpstorm和webserver都在同一台机器上这种情况1.安装xdebug使用pecl安装即可2.php.ini配置[xdebug]z ...

  4. Zend Studio集成Xdebug断点调试详解

    转自:http://www.softown.cn/post/115.html Xdebug是PHP开发中两个常用的断点调试工具之一(另一个为Zend Debugger). 现在,我们在Zend Stu ...

  5. netbeans工具使用xdebug断点调试php源码

    对有有经验的程序员,使用echo.print_r().print_f().var_dump()等函数足以调试php代码,如果需要在IDE工具中使用断点调试,xdebug就是一个非常好的php调试工具. ...

  6. Ubuntu16.04 中 Vscode 如何断点调试C语言程序

    个人博客链接:Ubuntu16.04 中 Vscode 如何断点调试C语言程序 问题:环境是 Ubuntu16.04,如何使用 Vscode 断点调试C语言程序. 写代码没有调试环境是不能忍受的,所以 ...

  7. PHPstudy + phpstrom +xdebug 断点调试(windows) - CSDN博客

    原文:PHPstudy + phpstrom +xdebug 断点调试(windows) - CSDN博客 php.ini 配置 需要添加如下内容 [XDebug]xdebug.profiler_ou ...

  8. PhpStorm连接Docker容器配置xdebug断点调试

    本教程主要演示xdebug在PhpStorm中配置方法. 一.环境说明 1.Mac笔记本(本教程演示过程使用的是Mac OS操作系统,和windows环境是有区别的,这一点需要特别注意): 2.在Ma ...

  9. 在windows10环境下给PHPStorm配置xdebug断点调试功能

    笔者的开发环境: wampserver2.5系统环境包 操作系统:windows10 64位专业版. php版本:php5.512 Apache版本:2.49 好了下面介绍,phpstorm配置xde ...

随机推荐

  1. 通过用户名、密码提交的方式搭建私有git服务端

    1. 系统环境 centos git yum -y install git 2).创建属于自己的git库 mkdir /myGit git init --bare xiangyun.git 3). 添 ...

  2. 大型网站的SEO引爆点

    网站越大,SEO服务做起来就轻松,因为大型网站都有很好的执行团队,你只需要找准他们网站的SEO爆破点,就能够迅速获得非常理想的SEO效果.本文将结合我最近两年的几个经典案例:腾讯拍拍.金山爱词霸.中青 ...

  3. 【Python】Centos + gunicorn+flask 报错ImportError: No module named request

    今天用Python去下载图片,用到了 urllib.request,这个是python3的方法.python2 使用的是urllib2 遇到了这么个问题后台报错,ImportError: No mod ...

  4. struts2客户端与服务器端即jsp页面与action之间的关系

    在Struts2中,客户端和服务器之间的数据传输全部要用到get.set方法:用set方法 ,可以将表单中的值存入Action类.通过Struts2.0标签,调用get方法将Action类中的结果数据 ...

  5. 第三百八十四节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置以及会员注册

    第三百八十四节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, incl ...

  6. (原)linux下利用cmake来编译jthread开源库

    其实上次在用hisi3531平台的时候,就已经编译过一次这个库了,这次换了平台环境,交叉编译器变成了arm-hisiv100-linux-工具链,所以,没办法只能重新来过. 因为之前编译过,所以这次还 ...

  7. (转)DSound开发常用的几个结构

    WAVEFORMATEX WAVEFORMATEX { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPe ...

  8. 【Hibernate步步为营】--最后的集合映射

    上篇文章具体讨论了组合对象映射的原理.它事实上指的是怎样将对象模型中的组合关系映射到关系模型中,它是通过使用Hibernate提供的<component>标签来实现的,并须要在该标签中加入 ...

  9. js 操作json对象增删改

    //将表单序列化成字符串 $.fn.serializeObject = function () { var obj = {}; var count = 0; $.each(this.serialize ...

  10. 推荐个office能在线预览的插件

    1.chrome  office viewer 这个可以离线使用 2.微软 office web app  可以使用微软在线服务器或则自己搭建服务器 有兴趣的朋友百度一下具体操作方法