phpstorm+xdebug的安装与使用

news2024/12/22 16:25:24

工具和环境

phpstorm 2018

php5.6 线程安全

xdebug 

1.下载和安装xdebug

1.1 查看自己phpinfo信息

比如我这里是php 5.6 ,线程安全版本

1.2 xdebug 官网

Xdebug: Historical Releases

根据自己的php版本选择要下载的dll文件

如果是高版本一点的php  , xdebug官方设置了这个网址协助我们选择下载

http://xdebug.org/wizard.php

1.3 配置php.ini 和安装 xdebug

把刚刚下载的dll文件重命名为 php_xdebug.dll (当然你也可以不重命名,只是感觉看上去简洁点)

复制到php下的ext目录

修改php.ini配置 , 路径请自行修改哈

[xdebug]

zend_extension="E:\dev\php56\ext\php_xdebug.dll"

xdebug.remote_enable=On

xdebug.remote_host=127.0.0.1

xdebug.remote_port=9001 

xdebug.remote_handler=dbgp

xdebug.auto_trace=on

xdebug.idekey=PHPSTORM

xdebug.collect_return=On

xdebug.collect_params=On 

注意这里是 zend_extension ,刚开始没注意我用的是 extension ,导致后期使用一直调不通

1.4 重启apache ,查看phpinfo ,出现如下信息证明 安装成功

2.配置phpstorm

好了 ,xdebug 已经安装成功了,接下来我们来设置phpstorm。

2.1 配置php解析器  File -> settings ->Languages & Frameworks -> PHP  ,选择对应的版本

2.2 配置 xdebug 端口

跟我们 php.ini 里 xdebug.remote_port 的端口号保持一致即可  ,其他默认

2.3  配置代理 PHP下面的 Debug -》 DBGp

 还是对应php.ini里的配置 分别对应  xdebug.idekey  , xdebug.remote_host ,xdebug.remote_port

2.4 配置 服务器 server

2.5 配置好后 回到你的项目 点击右上角

2.6 添加调试项目 ,这里以网站应用为例,选择 PHP Web Page

2.7 然后进去后参考这个配置

Name 名字自己随便写个

Server 上面也已经配置好,直接下拉选择

Start URL 就是debug 运行后出现的页面

Browser 这里我们选择 Firefox ,因为我们选择的是网页应用 ,调试时会打开浏览器

另外 你可以验证一下 你的配置是否已经打通

2.8  Run勾选上Break at first line in PHP scripts

3.火狐安装xdebug插件

一般选择火狐 ,谷歌浏览器 国内连不上插件商店 ,需要fq

这个看你调试的项目 ,如果是接口 ,内部程序那些 ,就不用 。如果是网页应用一般都需要

打开火狐浏览器 , 打开扩展中心 ,搜索Xdebug helper ,安装好开启即可

4.开始调试

4.1 点击这里  确保此处是绿色

此处是phpstorm的反向代理服务,就是我们刚配置的 DBGp 这里

4.2 在项目中设置好断点 

4.3 然后点击绿色的小虫 开始快乐的调试吧

调试运行后 ,会启动浏览器 出现这样的链接  www.xxx.com/?XDEBUG_SESSION_START=11635

调试面板也会变成这样, 可以看到变量和文件信息

调试面板里一些按钮的含义:

名字

快捷键

含义

Resume Program

F9

一步步按顺序执行断点,如果执行到子文件或子函数里有断点,则进入,没有则跳过

Step into

F7

调试每一行 ,单步执行,进入子函数

Step Over

F8

调试一行代码,不进入子函数;如果没有子函数,功能与Step Into一样

5. 可能会遇到的问题

5.1  遇到 Cannot accept external Xdebug connection: Cannot evaluate expression 'isset($_SERVER['PHP_IDE_CONFIG'])'

检查php.ini配置 ,把  extension  改为zend_extension

5.2  点击代理的按钮 点不动 ,调试没法启动

试试检查你设置的端口,我这里是9001 ,是否被占用 ; 同样可以检查代理是否已经启动

6.参考

PhpStorm配置debug环境_phpstorm debug_easyrce的博客-CSDN博客

在PHPStorm下进行断点调试_phpstorm 断点_英星有情的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java基础面试题突击系列3

👩🏻 作者:一只IT攻城狮 ,关注我不迷路 ❤️《java面试核心知识》突击系列,持续更新… 💐 面试必知必会学习路线:Java技术栈面试系列SpringCloud项目实战学习路线 📝再小的收获x365天…

Qt实现DES ECB加密解密

环境&#xff1a;Windows11 64位 工具链&#xff1a;MinGW32 IDE&#xff1a;Qt 5.14 Qt使用DES加密需要用到OpenSSL库&#xff0c;首先要确定当前使用的Qt所支持的SSL版本。编译OpenSSL 查看当前Qt对OpenSSL的支持情况 qDebug() << QSslSocket::supportsSsl();返回 tr…

C++STL简介

本期我们来简单介绍一下STL 目录 1.什么是STL 2.STL的版本 3.STL的六大组件 4.如何学习STL 5.STL的缺陷 本期内容比较简单&#xff0c;大家只需简单看看了解一下即可 1.什么是STL STL(standard template libaray- 标准模板库 ) &#xff1a; 是 C 标准库的重要组成部分 &…

Postman使用技巧

本文仅针对笔者的Postman使用习惯&#xff0c;纯属个人理解&#xff0c;如有不同或更好的方式烦请指出。 文章目录 前言一、Postman是什么&#xff1f;二、使用步骤1. Collection分级习惯2.配置环境变量3.Postman接口请求自带url前缀3.1 方式一&#xff1a;在url中添加环境变量…

深度学习框架搭建

5.15 首先是了解下&#xff0c;怎么配置环境啊这一套的。。 1.大概了解了一些名词意思 python&#xff0c;不用说了&#xff0c;就是一门语言 anoconda是一些包啊之类的管理工具&#xff0c;挺好用的&#xff0c;管理虚拟环境用的。 jupyter和pycharm都是类似于IDE吧&#…

【系统移植】SD卡烧录uboot、linux内核、根文件系统

目录 一、SD卡分区 二、SD卡烧录uboot 三、SD卡烧录linux内核 四、SD卡烧录根文件系统 五、修改uboot环境变量 1、设置 bootcmd 2、设置 bootargs 参考链接&#xff1a;IMX6Q的SD卡启动使用教程_mayue_csdn的博客-CSDN博客 一、SD卡分区 无论是EMMC还是SD卡启动&#…

Promise理解

做一道题,理解一下: function getPrinterList() {let res 初始setTimeout(() > {res 1},1000)return res }let res getPrinterList() console.log(res); //输出初始 在getPrinterList函数中,先分清同步异步. JS执行语句时,会区分同步异步,把所有的同步放在同步队列中,把…

2023-5-19-Debug和Release到底有多少不同?

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

【HTTPS加密】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 1.HTTPS 是什么 1.1 运营商劫持 1.2 关于加密…

面试季,真的太狠了...

金三银四面试季的复盘&#xff0c;真的太狠了… 面试感受 先说一个字 是真的 “ 累 ” 安排的太满的后果可能就是一天只吃一顿饭&#xff0c;一直奔波在路上 不扯这个了&#xff0c;给大家说说面试吧&#xff0c;我工作大概两年多的时间&#xff0c;大家可以参考下 在整个面…

【FMC201】基于FMC标准的1路CameraLink Full 输入 子卡模块

产品概述 FMC201是一款CameraLink信号输入&#xff08;采集&#xff09;FMC子卡模块&#xff0c;该模块支持2路CameraLink Base模式或者1路CameraLink Full模式的图像信号输入。板卡具有2个CameraLink端口&#xff08;SDR26&#xff09;&#xff0c;可以作为采集卡使用。 技术指…

不仅能满足需求,还能提高效率。教你建立自动化测试请求封装

目录 前言&#xff1a; 一、整体框架介绍 二、代码实现 1. config文件配置 2. API封装方法实现 3. 测试用例编写 4. 运行测试用例 三、总结 前言&#xff1a; 在接口自动化测试中&#xff0c;我们都知道一个重要概念就是接口请求封装&#xff0c;可以大幅度提供自动化…

中间件(三)- Zookeeper

Zookeeper 1. Zookeeper介绍1.1 什么是Zookeeper1.2 Zookeeper的应用场景 2. 搭建ZooKeeper服务器2.1 下载安装包2.2 配置文件2.3 启动测试 3. Zookeeper内部的数据模型3.1 zk如何保存数据?3.2 zk中的znode是什么样的数据结构3.3 zk中节点znode的类型3.4 zk的数据持久化 4. Zo…

18-01 数据库架构设计综述

数据库架构设计的基本思路 需求分析阶段&#xff08;最困难、最耗时&#xff09; 整个设计过程的基础 需求分析做得是否充分以及准确&#xff0c;决定了数据库设计的速度与质量极端场景下&#xff0c;需求分析做得不好&#xff0c;可能会导致整个数据库设计返工、重做 需求分…

RSBBS 报表接口 query跳转 RRI

这里只讲RSBBS的goto query&#xff0c;不讲query里面的替换路径。 报表接口就是从一个query跳转到另一个目的地。从下面能看到&#xff0c;可以跳转到一个BW系统下的query&#xff0c;或者能跳转到ERP系统的一个ABAP report也行&#xff0c;或者可以通过archive link去从quer…

node之excel转化成json格式的数据

1. node环境(自己看教程搭建) 2.安装node-xlsx和fs yarn node-xlsx 3.写代码。简单实例如下&#xff08;如果需要处理数据&#xff0c;自己处理&#xff09; 实例&#xff1a; 目录&#xff1a; b.js var xlsx require(node-xlsx); var fs require(fs); const path requ…

基于布谷鸟优化算法(CS)在微电网优化中的应用研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Mybatis】SpringBoot整合Mybatis之增删改查

目录 一、准备 1、选择依赖 2、配置文件 3、映射接口 二、Select 三、Delete 四、Update 五、Insert 一、准备 1、选择依赖 在我们创建SpringBoot项目的时候&#xff0c;需要选择Mybatis与MySQL的依赖 2、配置文件 然后我们需要在配置文件里配置MySQL的连接信息 spr…

UEBA技术在ADAudit Plus中的应用

摘要&#xff1a;用户和实体行为分析&#xff08;UEBA&#xff09;技术是当今信息安全领域的重要工具之一。本文将介绍UEBA技术在ADAudit Plus中的应用&#xff0c;探讨其在提供安全性和监控能力方面的优势&#xff0c;并解释为何ADAudit Plus是一种出色的UEBA解决方案。 UEBA …

免费下载|《建设数字中国 升级数智底座-企业数智化底座白皮书》

企业数智化历经多年的演进&#xff0c;已经从最初的“局部推动业务提质增效”&#xff0c;发展为“利用技术全面赋能业务创新活动”&#xff0c;数智化能力的建设正逐步与企业的战略目标深度融合。企业践行数字化优先&#xff0c;以智能化促进发展&#xff0c;根本上需要依托健…