0 前言

网上试过很多方案,有的根本无效,有的是有效一段时间后失效,然而这个方法是一直有效果,所以留底记录一下

1 简介

PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率。它以其独特的开发便利性,短时间内赢得了大量PHPer的青睐。
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。你可以通过调试器进行前后端交互式地调试脚本。
PhpStorm作为一款强大的IDE,debug功能自然不在话下。 
本案例下只讲述最基本实用的debug方法。
 
2 操作详解
 
2.1准备工作
 
PHPSTORM版本 : 8.0.3
PHP版本 : 5.5.12
xdebug版本:php_xdebug-2.2.5-5.5-vc11.dll 
注 : php版本和xdebug版本一定要相对应。我这里用的是wampserver,PHP与xdebug均已下载。单独下载Xdebug 网址为http://xdebug.org/download.php
 

2.2配置php.ini

找到php.ini所在的目录,在该文件的最后添加以下文本(如果已存在,要把前面的分号;去掉)
zend_extension_ts="d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll"//Xdebug存放路径,
xdebug.remote_enable=ON//是否允许远程终端,这个必须开启
xdebug.profiler_enable = Off//性能优化,本文用不到,选择关闭(不关闭,会以约每分钟几百M的速度产生大量日志文件,用不上一天你的硬盘就哭了)
xdebug.idekey="PHPSTORM";//这里是调试器的关键字
保存,重启服务器。
 
查看Xdebug是否开启成功,打印一下phpinfo即可。把以下代码放到任意php文件中,浏览器访问即可。
<?php echo phpinfo(); ?>
 
 
 
2.3配置PhpStorm
 
下拉选择 Edit Configurations,配置服务器信息,添加项目调试开发地址,点击OK。PhpStorm配置完成。本地服务器配置详情查看 http://blog.csdn.net/knight_quan/article/details/51830683
 
 
 
 
 
 
2.4使用调试功能
 
在需要调试的行上打上断点(点击一下行号后面的空白处即可,再点一次取消断点),需要说明的是当程序运行到该断点时,程序会停留在该行,但该行本身不会执行。自此可以查看程序运行到此处时所包含的所有数据信息。当然,查看信息功能相当于使用echo,print或者var_dump。
操作流程:
打断点—>点击臭虫—>点击浏览器页面触发断点—>自动跳转回PhpStorm—>查看携带的数据(调试的目的)—>可按步执行查找问题点—>点击运行(或者F5)—>浏览器页面继续执行—>调试完成
 

 
 

 
3 补充说明
 
3.1如果端口被占用,可以在php.ini中配置xdebug.remote_port与PhpStorm中的Debug port相同即可。
php.ini中:
xdebug.remote_port = 9000
 
PhpStorm中:
 
 
4 总结:
Xdebug可以用来跟踪,调试和分析PHP程序的运行状况。本文重点是调试。Xdebug本身拥有大量内置函数,可以分析php程序性能瓶颈等问题。关于其高级使用方法,会在其他文章中讲到。灵活使用Xdebug,对提高调试效率会有很大帮助。(

记录下来方便查找备用)

5 参考

1.PhpStorm中如何使用Xdebug工具,入门级操作方法

[转]PhpStorm中如何使用Xdebug工具,入门级操作方法(亲测有效)的更多相关文章

  1. PhpStorm中如何使用Xdebug工具,入门级操作方法

    http://blog.csdn.net/knight_quan/article/details/51953269 1.简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全 ...

  2. PhpStorm中如何配置SVN,详细操作方法 - 郑加全的博客 - CSDN博客

      登录|注册       郑加全的博客       目录视图 摘要视图 订阅 CSDN日报0711——<离开校园,入职阿里,开启新的程序人生>      征文 | 你会为 AI 转型么? ...

  3. PhpStorm中如何使用database工具,详细操作方法

    1.简介:   PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率.它以其独特的开发便利性,短时间内赢得了大量PHPer的青睐. ...

  4. PhpStorm中如何配置SVN,详细操作方法

    1.简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率.它是一款商业的 PHP 集成开发工具,以其独特的开发便利性,短时 ...

  5. PhpStorm中如何使用database工具

    环境:ubuntu18.4 mysql5.7 一. 打开database 1.选择View—>Tool Windows—>Database单击打开. 2.新增数据连接 选择 “+”—> ...

  6. 关于iTerm2中颜色配置及快捷键使用技巧(亲测)

    https://github.com/mbadolato/iTerm2-Color-Schemes http://chriskempson.com/projects/base16 (同事用的) 按照g ...

  7. Arduino中数据类型转换 float/double转换为char 亲测好使,dtostrf()函数

    如何轻松玩转Arduino单片机,当我在进行数据转换的时候,遇到了问题,尝试了C语言和C++中的好多函数,都没有达到将float型数据转换为char型的目的.苦苦查阅资料后,终于找到了一个大神级函数! ...

  8. vue中element-ui table列名lable换行问题 ---亲测

    1.lable操作 :label = "'xxxxx \n xxxxx'" // 注意 lable 的: 注:双引号内有单引号,这样才可以解析文本.需要换行的文本处添加 \n 2. ...

  9. [Android Pro] 跨平台反编译工具 jadx (ubuntu亲测 可用)

    github :  https://github.com/skylot/jadx 输入: .dex, .apk, .jar or .class 输出: 资源文件 和  class文件 不支持重新打包, ...

随机推荐

  1. Scrapy基础02

    一.start_requests def start_requests(self): cls = self.__class__ if method_is_overridden(cls, Spider, ...

  2. java操作数据库:分页查询

    直接上.... 还是用之前的goods表,增加了一些数据 1.实体类Goods // 封装数据 public class Goods { private int gid; private String ...

  3. 浅谈style.,currentStyle,getComputedStyle,getAttribute

    xxx为属性. ele为元素. 1.style.是针对于样式 在前面的一篇博客中我也有说到,ele.style.xxx; 通常用于赋值,赋值也是针对于行内样式,用它来取值的话,它只能取到内联样式. 今 ...

  4. cuda、cuDNN的相关内容

    1.nvidia与cuda需要满足关系: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html/ 2.cuda与cudn ...

  5. Burp Suite Intruder中爆破模式介绍

    Burp Suite Intruder中爆破模式介绍 - Introduction to Burst Mode in Burp Suite Intruder 1.sniper模式  使用单一的Payl ...

  6. Mysql清空表(truncate)与删除表中数据(delete)的区别

    来源:http://blog.is36.com/mysql_difference_of_truncate_and_delete/ 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经 ...

  7. Python 包

    转载自https://www.cnblogs.com/feeland/p/4401758.html Python 包 包 定义 为了组织好模块,会将多个模块分为包.Python 处理包也是相当方便的. ...

  8. .net+mvc,ueditor

    .net+mvc的百度编辑器ueditor 一.下载百度编辑器:http://ueditor.baidu.com/website/download.html 选择.net版本 二.解压后在mvc项目中 ...

  9. 清除redis缓存

    redis-cli -p 6379(指定进入端口号为6379的redis数据库)1.清空当前redis数据库缓存flushdb 2.清空整个redis缓存flushall

  10. 【转】Python3 configparse模块(配置)

    [转]Python3 configparse模块(配置) ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(s ...