前言  

  php是脚本型程序 每次出错都要手动exit断点程序不是很方便

  哪里有需求哪里就有生产,Xdebug可以实现对php的断点调试。下面将我个人的安装经历分享给大家。

  运行环境 windows 、lamp、phpstorm 、chrome (配置方法一样 Ubuntu也通用)

一、首先安装xdebug

  安装xdebug比较简单 ,运行php -i >phpinfo.txt  或者 echo phpinfo();将全部信息贴到https://xdebug.org/wizard.php这个网站提示的文本域中点击

  如下图红色的框是网站提示的安装步骤,黄色的框是我已安装的信息(可以忽略)。

  

    补充在编辑php.ini文件的时候多添加几行

    

[Xdebug]
zend_extension = "H:\install\phpstudy_pro\Extensions\php\php7.3.4nts\ext\php_xdebug-2.9.4-7.3-vc15-nts-x86_64.dll" xdebug.idekey="PHPSTORM"
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_host=127.0.0.1
xdebug.remote_enable=on
xdebug.remote_port = 9100 //这是设置端口 可以改 只要下面这是phpstorm 一致就可以
xdebug.remote_autostart = no

二、安装chrome  xdebug helper插件

  打开 chrome的webstore搜索 xdebug 我已经添加了。需要翻墙  可以下个vpn 蓝灯  慕风都可以 或者配置host

    

  安装完之后 浏览器会有一个小甲虫  右击点击选项 选择phpstorm  点击save退出

  

  备注:

    安装完 可以打印phpinfo  查看xdebug信息 ,或者php -v 查看下有没有xdebug信息

  

三、配置phpstorm

  1、servers设置

    菜单栏  file->setting->php->servers(找不到可以搜索server就出来了)

  

  

  2、php设置 选择自己的php版本(注如果遇到图2这种情况点击标记的按钮找到自己的php.exe文件即可)

          

  3 设置debug  勾选一下  会忽略端口冲突等信息

  

  4 设置dbgp

  IDE key 是上面php.ini里面设置的key

  

这边配置localhost 就行,具体的debug项目域名再run那边配置

    

  

5 编辑结构选择一下自己配置的域名  startUrl 可以根据自己的项目配置  我的域名已经指向项目根目录了  所有直接是/

      

四、启用xdebug

  1、点击phpstorm右上角的电话 绿色波纹就是开始监听了

  

  2、右击浏览器右上角的小甲虫 选择debug

  

  3、设置断点

    

  4、访问设置断点的控制器 phpstorm会弹出调试信息  可以点击小绿三角 调试下一个断点

    

五、其他情况说明

  1、端口占用(9000 port is busy)

    解决方法:更换端口

      那就编辑php.ini换个端口对应的 file->setting->php-> debug 也要换掉

        重新启动下php 再调试看看。

  2、无法映射到服务器文件(file path is not mapped to any file path on server. edit path mappings to fix the problem)

    解决方法:配置项目在服务器的绝对路径

       

  3、调试总是断点在index.php 的第一行

    

 附上phpstorm 官方配置说明:

  https://blog.jetbrains.com/webide/2011/03/configure-php-debugging-in-phpstorm-2-0/

phpstorm 配置 xdebug调试工具的更多相关文章

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

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

  2. 为 PhpStorm 配置 Xdebug 来调试代码

    当项目越来越复杂,排错就越发困难. 你以为代码是这么运行的,但就是有未想到的功能导致流程变得不可捉摸. 此时我们需要调试啊调试... PhpStorm 是一款优秀的 PHP IDE,排除其 Java ...

  3. PHPStorm配置Xdebug官方文档

    1 配置Xdebug 下载Xdebug 下载与您的PHP版本兼容的Xdebug扩展,并将其保存在该php/文件夹中. php/文件夹 的位置是在安装PHP引擎期间定义的. 如果您使用的是AMP软件包, ...

  4. 【总结1】PhpStorm配置XDebug(远程)调试PHP

    配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境,打开php.ini,参考配置如下: [XDebug] zend_extension = "D:\P ...

  5. phpstorm配置Xdebug进行调试PHP教程

    运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...

  6. phpstorm配置Xdebug进行调试

    运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...

  7. PHPStorm配置xdebug(phpStudy/wamp)

    一.下载并配置XDebug wamp环境: 1.获取xdebug

  8. Mac环境下PHPstorm配置xdebug开发调试web程序

    一.安装PHP的xdebug扩展 安装xdebug(技巧,为了找到适配的版本,让xdebug网站根据phpinfo()函数输出分析找到对应的方法及安装步骤:如果安装了多个PHP版本的话,尽量用phpi ...

  9. PhpStorm配置Xdebug调试

    安装xdebug 去官网下载对应版本的xdebug扩展 XDEBUG EXTENSION FOR PHP | DOWNLOADS 如何选择正确版本 输出phpinfo()函数的内容 查看输出页面的网页 ...

随机推荐

  1. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

  2. Asp.net Core中使用Session

    前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...

  3. HTML5 progress和meter控件

    在HTML5中,新增了progress和meter控件.progress控件为进度条控件,可表示任务的进度,如Windows系统中软件的安装.文件的复制等场景的进度.meter控件为计量条控件,表示某 ...

  4. 前端学HTTP之重定向和负载均衡

    前面的话 HTTP并不是独自运行在网上的.很多协议都会在HTTP报文的传输过程中对其数据进行管理.HTTP只关心旅程的端点(发送者和接收者),但在包含有镜像服务器.Web代理和缓存的网络世界中,HTT ...

  5. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  6. zookeeper源码分析之一服务端启动过程

    zookeeper简介 zookeeper是为分布式应用提供分布式协作服务的开源软件.它提供了一组简单的原子操作,分布式应用可以基于这些原子操作来实现更高层次的同步服务,配置维护,组管理和命名.zoo ...

  7. 微信网页开发之获取用户unionID的两种方法--基于微信的多点登录用户识别

    假设网站A有以下功能需求:1,pc端微信扫码登录:2,微信浏览器中的静默登录功能需求,这两种需求就需要用到用户的unionID,这样才能在多个登录点(终端)识别用户.那么这两种需求下用户的unionI ...

  8. 2Sum

    用哈希表(unordered_map)使得时间复杂度从O(n*n)降到O(n),空间复杂度从O(1)增到O(n):一边找一边插入哈希表 注意 在C++11以前要使用unordered_map需要 #i ...

  9. 【夯实PHP基础】PHP数组,字符串,对象等基础面面观

    本文地址 分享提纲 1.数组篇 2.字符创篇 3.函数篇 4.面向对象篇 5.其他篇 /*************************** 一.数组篇 Begin***************** ...

  10. MySQL 优化之 MRR (Multi-Range Read:二级索引合并回表)

    MySQL5.6中引入了MRR,专门来优化:二级索引的范围扫描并且需要回表的情况.它的原理是,将多个需要回表的二级索引根据主键进行排序,然后一起回表,将原来的回表时进行的随机IO,转变成顺序IO.文档 ...