前言  

  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. IE6/7下空div占用空间的问题

    最近注意力没在前端上面,工作碰到这样一个问题,下意识的写了句 font-size:0;line-height:0;哪知道引发了更大的bug.后来插入数据进去的时候都不显示了..再后来百度一番找到,原来 ...

  2. js中参数不对应问题

    因为js是一种弱类型的编程语言,对数据类型的要求没有其他编程语言的要求严格,所以在定义函数的时候不需要像java和C#一样对其传入参数的类型进行定义.那么传入参数的个数有没有影响呢?今天小猪就做了个实 ...

  3. UML课程复习重点

    第一章 一.UML图示建模工具 二.UML--统一建模语言,以图形符号为基础,描述软件模型既简洁又清晰.它不是开发方法,是独立于任何开发方法之外的语言.它用于描述软件系统分析.设计和实施中的各种模型. ...

  4. Python的单元测试(一)

    title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...

  5. scrapy爬虫docker部署

    spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)

    系列目录 前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他 ...

  7. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

  8. [C#] C# 知识回顾 - 序列化

    C# 知识回顾 -  序列化 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902005.html 目录 序列化的含义 通过序列化保存对象数据 众 ...

  9. scanf类型不匹配造成死循环

        int i = 0; while (flag) { printf("please input a number >>> "); scanf("% ...

  10. Android之使用Bundle进行IPC

    一.Bundle进行IPC介绍 四大组件中的三大组件(Activity.Service.Receiver)都是支持在Intent中传递Bundle数据的,由于Bundle实现了Parcelable接口 ...