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

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,对提高调试效率会有很大帮助。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

一篇文章带你了解JavaScript日期

日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用