phpstorm+wamp+xdebug配置php调试环境

本篇文章主要是:教大家如果搭建一套phpstorm+wamp+xdebug调试php的环境
现在大多数的程序员使用的调试方式一般都是echo, var_dump, file_put_contents等其他方式,效率比较低下,因此我们有必要学习用工具调试,工具调试主要可以用来解决以下问题:
1,审核系统性能
以前在一家公司维护过一个大型商城,全站页面全部能访问正在,就一个点赞的活动页面非常卡,点进去要20多秒才能完全打开,虽然里面有几百万数据,其他页面根本不会出现这么长时间加载问题,开始我们完全不清楚是什么问题,后来使用xdebug步步跟进,发现一条SQL语句居然执行了20多秒,原因是跨表不合理,修改之后,速度只需要0.5秒就能打开了
2,解决疑难杂症
线下培训的学生毕业后,有个同学被隐式转换的数据类型被浪费了一天时间,后来叫他用Xdebug跟踪,几分钟就定位到问题所在
3,熟练掌握系统运行流程
通过断点结合单步,步入,步过等方式,可以对程序流程有个非常清楚直观的感受 程序在每一步的变化,从而达到全面分析系统流程的目的。
4,其他方面的应用

搭建调试环境的具体步骤如下:
phpstorm版本:PhpStorm-2016.2.1
wamp版本:2.5,自带xdebug
第一步:把下面的xdebug配置放在php.ini文件中:
根据自己的机器实际情况修改路径

; XDEBUG Extensionzend_extension = "e:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll" ; [xdebug] xdebug.remote_enable = off xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "e:/wamp/tmp" xdebug.show_local_vars=0 xdebug.idekey=PhpStorm xdebug.remote_enable = On xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler=dbgp

第二步:判断xdebug是否加载,可以打印phpinfo()函数 进行查看

第三步: 配置phpstorm编辑器中相关配置

File->Settings->Languages&Frame Works->Php->Interpreter 选择web服务器套件中php.exe的路径

第四步:File->Settings->Languages&Frame Works->Php->Servers 配置服务器相关设置:

Name:localhost

Host:localhost

Port:80

Debugger: Xdebug
图片描述
第五步:File->Settings->Languages&Frame Works->Php->Debug->DBGp Proxy 配置相关设置:

Ide key: phpstorm 这个值是php.ini中那个xdebug那段ide key的值

host: localhost

port: 80
图片描述

第六步:File->Settings->Languages&Frame Works->Php-Debug 找到右边窗口对应的debug设置,把端口改成9000
图片描述

第七步:安装谷歌浏览器的Xdebug扩展
图片描述

第八步:

1,开启phpstorm的监听按钮
图片描述
2,开启浏览器右上角的监听按钮,允许debug
3,在文件中设置断点
4,在浏览器中运行程序之后 就会把程序断在第三步设定的断点下,再之后就可以单步,步入,跳过等等方式来调试程序

转载于:https://www.cnblogs.com/ghostwu/p/7966428.html

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

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

相关文章

计算机专用英语1500词带音标,带音标的计算机英语1500词

带音标的计算机英语1500词 (46页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!29.9 积分计算机专用英语词汇1500词《电脑专业英语》1. file [fail] n. 文件;v. 保存文件 2. …

需求改进与系统设计

第一部分 需求与原型改进 1.1改进的原型 1.1.1 改进说明 相较上一次的原型,这一次我们确定了主题颜色,并且使功能一眼就能看懂,让新用户能很快上手。 并且进一步完善了前期的调查问卷分析。得出结论同学们不去食堂吃饭的大部分原因是排队…

了解ADF Faces clientComponent属性

我相信大多数ADF开发人员都知道ADF Faces属性clientComponent 。 在这篇文章中&#xff0c;我将展示此属性实际上如何影响组件渲染以及它如何改变其行为。 让我们开始考虑一个非常简单的示例&#xff1a; <af:inputText label"Label 1" id"it1" /> …

谈谈一些有趣的CSS题目(十五)-- 谈谈 CSS 关键字 initial、inherit 和 unset

开本系列&#xff0c;谈谈一些有趣的 CSS 题目&#xff0c;题目类型天马行空&#xff0c;想到什么说什么&#xff0c;不仅为了拓宽一下解决问题的思路&#xff0c;更涉及一些容易忽视的 CSS 细节。解题不考虑兼容性&#xff0c;题目天马行空&#xff0c;想到什么说什么&#x…

小程序沉浸式_企业开发小程序:客户裂变式增长

最近几年&#xff0c;各行各业中都有不少企业、商家获客难窘境。因此&#xff0c;很多企业、商家想知道&#xff1a;"怎么做&#xff0c;才能获取到大量流量&#xff1f;"小编给大家推荐一种方式&#xff1a;开发一个微信小程序&#xff0c;然后利用小程序来获取大量…

单点拖拽和多点多拽

demo见github:https://github.com/fei1314/drag/tree/master 一、拖拽原理手指所处的位置到一个div顶部的距离L一直不变。 二、单点拖拽1.touchstart:单指按下2.touchmove&#xff1a;单指移动3.touchend&#xff1a;单指抬起a.在touchstart事件中&#xff0c;利用拖拽原理&…

伪代码是计算机语言,伪代码书写格式

《伪代码书写格式》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《伪代码书写格式(3页珍藏版)》请在人人文库网上搜索。1、精品文档伪代码伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。每一行(或几行)表示一个基本操作。它不用图形符号&#xff0…

JDBC连接Mysql数据库

注释&#xff1a;&#xff08;以下代码会抛出多个异常&#xff0c;仅表达出JDBC连接Mysql数据库的过程步骤&#xff09;加载数据库驱动(即 实例化驱动类对象)Class.forName("com.mysql.cj.jdbc.Driver"); 获取数据库的连接Connection conn null; conn DriverManage…

Elasticsearch:用于内容丰富的文本分析

每个文本搜索解决方案都与其提供的文本分析功能一样强大。 Lucene是这样的开源信息检索库&#xff0c;提供了许多文本分析的可能性。 在本文中&#xff0c;我们将介绍ElasticSearch提供的一些主要文本分析功能&#xff0c;这些功能可用来丰富您的搜索内容。 内容丰富 以一个典…

[CSS] Scale on Hover with Transition

效果 源码 <!doctype html><html class"outline color"><head><meta charset"utf-8"><title>图片scale动画</title><style>.img-box {position: relative;width: 740px;height: 420px;overflow: hidden;}/* 彩色…

热敏电阻温度特性曲线_热敏电阻与体温计的应用关系

相信体温计大家都熟悉&#xff0c;热敏电阻与体温计的应用关系大家都知道吗&#xff1f;热敏电阻热敏电阻探头测量体温的原理又是什么呢&#xff0c;小编跟大家分析一下&#xff0c;希望以下详细的介绍能帮助到大家&#xff01;热敏电阻探头测量体温的原理分析如下&#xff1a;…

js总结

var a {"name": "Alex", "age": 18}; console.log(a.name); console.log(a["age"]);就是字典&#xff0c;for (var i in a ){     console.log(a[i])}var anew Object()a.name"egon";a.age18;ES6中新增了map数据结构&…

计算机公共基础知识教材,国家计算机二级考试公共基础知识教材

国家计算机二级考试公共基础知识教材国家计算机二级考试公共基础知识教材国家计算机二级考试公共基础知识教材公共基础知识总结之第一章数据结构与算法 ................................................................................. 1公共基础知识总结之第二章程序设计…

1.Strategy Pattern(策略模式)

策略模式&#xff08;Strategy Pattern&#xff09;&#xff1a; 我的理解&#xff0c;将代码中每个变化之处抽出&#xff0c;提炼成一个一个的接口或者抽象类&#xff0c;让这些变化实现接口或继承抽象类成为具体的变化类。再利用多态的功能&#xff0c;可将变化之处用接口或抽…

Spring MVC + Hibernate + Maven:CRUD操作示例

在本文中&#xff0c;我想研究一个Spring MVC Hibernate Maven用法的示例。 这套技术暗含领域领域的基础知识。 因此&#xff0c;我将尝试详细解释所有重要时刻。 其他没有主题的内容将提供指向更多详细信息源的链接。 在文章的结尾&#xff0c;我将发布GitHub的链接。 目标…

画出的点做交互_设计之下交互设计原型设计之概念设计

目录//交互设计//「设计之下」---交互设计&#xff1a;交互设计师是做什么的&#xff1f;上线的产品中那一块是交互设计师的产物呢&#xff1f;项目启动1.1「设计之下」---交互设计&#xff1a;项目启动之从想法到项目&#xff0c;什么是项目&#xff1f;1.2「设计之下」---交互…

Java集合之TreeMap源码解析上篇

上期回顾 上期我从树型结构谈到了红黑树的概念以及自平衡的各种变化&#xff08;指路上期←戳&#xff09;&#xff0c;本期我将会对TreeMap结合红黑树理论进行解读。 首先&#xff0c;我们先来回忆一下红黑树的5条基本规则。 1.结点是红色或者黑色&#xff0c; 2.根结点为黑色…

CSS3 Transform、Transition和Animation属性总结

CSS3的三个与变形和动画啊相关的属性&#xff1a; Transform 浏览器支持情况&#xff1a; Internet Explorer 10、Firefox、Opera 支持 transform 属性。 Internet Explorer 9 支持替代的 -ms-transform 属性&#xff08;仅适用于 2D 转换&#xff09;。 Safari 和 Chrome…

综合云平台 - 前言 - 00

因为学习了 RHCA 云方向, 目前已经学了: CL210 OpenStack 私有云技术 CL220 CFME 混合云管理平台 RH236 GlusterFS 分布式存储 RH413 Hardening 安全 RH442 Performance Tuning 调优 RH318 Red Hat Enhanced Virtualization 虚拟化(传统虚拟机) DO280 OpenS…

15秋计算机基础作业3,东师15秋《计算机应用基础》在线作业3介绍.doc

计算机应用基础15秋在线作业3一、单选题(共?25?道试题&#xff0c;共?62.5?分。)V1.??国标码与机内码之间区别是A. 在机器内所占存储单元不同B. 机内码是ASCII码&#xff0c;国标码为非ASCII码C. 国标码是个每个字节最高位为1&#xff0c;机内码每个字节最高位为1D. 机内…