本篇文章主要是:教大家如果搭建一套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 Extension

zend_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,在浏览器中运行程序之后 就会把程序断在第三步设定的断点下,再之后就可以单步,步入,跳过等等方式来调试程序

phpstorm+wamp+xdebug配置php调试环境的更多相关文章

  1. PhpStorm+Xdebug配置单步调试PHP

    (一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...

  2. PhpStorm集成xdebug进行断点调试

    本文介绍如何使用PhpStorm集成xdebug在本地开发环境进行断点调试的技巧. 我配置的环境是:Windows10 + PhpStorm10.0.1 + PHP5.6. 1. 下载xdebug的扩 ...

  3. 使用phpstorm和xdebug实现远程调试

    使用phpstorm和xdebug实现远程调试 2012-05-23 10:06:35 vs的断点调试功能很强大有木有,能查看所有变量有木有.php调试很麻烦有木有,echo,var_dump写得你想 ...

  4. PHPStorm下XDebug配置

    PHPStorm下XDebug配置 分类: PHP2013-08-11 22:15 19697人阅读 评论(0) 收藏 举报   目录(?)[+]   1安装Xdebug 用yum安装可能会失败,用p ...

  5. “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境

    Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...

  6. VSCode配置python调试环境

    VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...

  7. 从零开始的 phpstorm+wamp 组合下的debug环境搭建(纯小白向)

    本文主要是为了帮自己记住每次重装系统后需要干点啥,如果能帮到你,烦请给个好评 环境说明: 1. windows10 64bit 2. wampservers 3.0.6(x86) apache2.4. ...

  8. phpstorm配合xdebug进行本地调试代码

    笔者在使用的环境是wamp3.1.6和phpstorm2018 ,php选择的环境是php7.2 1. 在php.ini中添加xdebug的配置信息 首先建议是先找对php.ini的位置,可以在php ...

  9. PHPStorm 与 XDebug 配置

    XDebug 配置 环境 Nginx 1.4.7 32 bit PHP 5.4.25 32 bit Windows 10 64 bit 下载 PHP 5.4 VC9 (32 bit)[nts版本] 配 ...

随机推荐

  1. Netty4 学习笔记之四: Netty HTTP服务的实现

    前言 目前主流的JAVA web 的HTTP服务主要是 springMVC和Struts2,更早的有JSP/servlet. 在学习Netty的时候,发现Netty 也可以作HTTP服务,于是便将此整 ...

  2. java日期详解

    [TOC] 一.简介 java中的日期处理一直是个问题,没有很好的方式去处理,所以才有第三方框架的地位比如joda. 文章主要对java日期处理的详解,用1.8可以不用joda. 1. 相关概念 首先 ...

  3. eclipse中Cannot change version of project facet Dynamic Web Module to 2.5.

    Cannot change version of project facet Dynamic Web Module to 2.5.这个错误可能很多人都碰到过,这里网上查了一些资料,解决的问题.所以这里 ...

  4. Java----list常用方法汇总

    package ListTest; import java.util.ArrayList; import java.util.Iterator ; import java.util.List; /** ...

  5. Navicat for Mysql 暴力破解教程

    关于破解Navicat for MySQL的教程有很多 ,但是比较繁琐, 这里推荐一种比较简单的办法~ 网盘地址:链接: https://pan.baidu.com/s/1kVHyShL 密码: ws ...

  6. 动态规划-迷宫-百度之星-Labyrinth

    Labyrinth Problem Description 度度熊是一仅仅喜欢探险的熊.一次偶然落进了一个m*n矩阵的迷宫,该迷宫仅仅能从矩阵左上角第一个方格開始走,仅仅有走到右上角的第一个格子才算走 ...

  7. centos yum安装ffmpeg

    ffmpeg是一个重要的应用软件,用于执行与视频文件转换成不同的视频流格式的视频站点,能够安装在linux系统上来使用 (一)安装编译环境  #yum install -y automake auto ...

  8. ImageLoader配置(凝视)

    /** * 配置ImageLoader */ private void configImageLoader() { File discCacheDir = StorageUtils.getOwnCac ...

  9. 自学Python3.1-函数基础

    一.函数概述 1. 简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2. 组成 函数代码块以 def 关键词开头,后接函数名和圆括 ...

  10. http中的get和post(一)

    GET和POST有什么区别?及为什么网上的多数答案都是错的. 如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历 前几天有人问我这个问题.我说GET是用于获取数据的,POST,一般用 ...