phpstorm 配置 xdebug调试工具
前言
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调试工具的更多相关文章
- 在windows10环境下给PHPStorm配置xdebug断点调试功能
笔者的开发环境: wampserver2.5系统环境包 操作系统:windows10 64位专业版. php版本:php5.512 Apache版本:2.49 好了下面介绍,phpstorm配置xde ...
- 为 PhpStorm 配置 Xdebug 来调试代码
当项目越来越复杂,排错就越发困难. 你以为代码是这么运行的,但就是有未想到的功能导致流程变得不可捉摸. 此时我们需要调试啊调试... PhpStorm 是一款优秀的 PHP IDE,排除其 Java ...
- PHPStorm配置Xdebug官方文档
1 配置Xdebug 下载Xdebug 下载与您的PHP版本兼容的Xdebug扩展,并将其保存在该php/文件夹中. php/文件夹 的位置是在安装PHP引擎期间定义的. 如果您使用的是AMP软件包, ...
- 【总结1】PhpStorm配置XDebug(远程)调试PHP
配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境,打开php.ini,参考配置如下: [XDebug] zend_extension = "D:\P ...
- 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 ...
- 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 ...
- PHPStorm配置xdebug(phpStudy/wamp)
一.下载并配置XDebug wamp环境: 1.获取xdebug
- Mac环境下PHPstorm配置xdebug开发调试web程序
一.安装PHP的xdebug扩展 安装xdebug(技巧,为了找到适配的版本,让xdebug网站根据phpinfo()函数输出分析找到对应的方法及安装步骤:如果安装了多个PHP版本的话,尽量用phpi ...
- PhpStorm配置Xdebug调试
安装xdebug 去官网下载对应版本的xdebug扩展 XDEBUG EXTENSION FOR PHP | DOWNLOADS 如何选择正确版本 输出phpinfo()函数的内容 查看输出页面的网页 ...
随机推荐
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app
微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...
- MSYS2——Windows平台下模拟linux环境的搭建
最近从MSYS1.0迁移到了MSYS2.0,简单讲,MSYS2.0功能更强大,其环境模拟更加符合linux.虽然本身来自cygwin,但其集成了pacman软件管理工具,很有linux范,并且可以直接 ...
- trigger事件模拟
事件模拟trigger 在操作DOM元素中,大多数事件都是用户必须操作才会触发事件,但有时,需要模拟用户的操作,来达到效果. 需求:页面初始化时触发搜索事件并获取input控件值,并打印输出(效果图如 ...
- 页面布局class常见命名规范
头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left rig ...
- 跟着老男孩教育学Python开发【第四篇】:模块
双层装饰器示例 __author__ = 'Golden' #!/usr/bin/env python # -*- coding:utf-8 -*- USER_INFO = {} def ch ...
- Performance Tuning
本文译自Wikipedia的Performance tuning词条,原词条中的不少链接和扩展内容非常值得一读,翻译过程中暴露了个人工程学思想和英语水平的不足,翻译后的内容也失去很多准确性和丰富性,需 ...
- Vue.js——60分钟组件快速入门(下篇)
概述 上一篇我们重点介绍了组件的创建.注册和使用,熟练这几个步骤将有助于深入组件的开发.另外,在子组件中定义props,可以让父组件的数据传递下来,这就好比子组件告诉父组件:"嘿,老哥,我开 ...