前言:

  简单介绍下为什么要用断点调试,很多人说我在代码调试的部位用var_dump 或者 exit 或者print_r来进行断点,但是当项目足够大的时候这样的做法就比较费时费力,因为你断点后需要删除原有的打印,很多时候我们自己也不知道在什么地方打印, 但是安装断点调试就可以解决这些问题,越用你会越来越喜欢它,闲话少说开干。

一、断点调试PHP的环境搭建

  1. 检测本地php环境是否安装了Xdebug 在本地输出phpinfo();搜索Xdebug;如下图

 

如果没有安装,安装操作Xdebug如下:

  将phpinfo();的信息全部输入网址:http://xdebug.org/wizard.php   如下图

  2、安装好Xdebug之后,配置本地的php.ini。添加配置如下,如需添加其他Xdebug配置,红色部分必须发配置,可以查看phpinfo中xdebug配置,根据自身phpinfo()信息情况自己添加。

[XDebug]
xdebug.profiler_output_dir="F:\PHP\myphp_www\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="F:\PHP\myphp_www\PHPTutorial\tmp\xdebug"
;这里改为刚刚下载的,放在对应PHP版本下的ext文件下的php_xdebug-2.7.1-7.1-vc14-nts.dll文件,
zend_extension="F:\PHP\myphp_www\PHPTutorial\php\php-7.1.13-nts\ext
\php_xdebug-2.7.1-7.1-vc14-nts.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_host=127.0.0.1
;xdebug.remote_port默认值为9000,这里需要跟phpstorm配置一致,下面有说明
xdebug.remote_port=9000

3、然后是配置phpstorm,Ctrl+Alt+S快捷键打开设置,搜索xdebug,其中的Debug port确保不被其他应用占用,当程序无法进入断点时,可以考虑是否有其他应用占用了你本地的9000端口。

4、给你的chrom浏览器安装Xdebug扩展,(如果你的chrom浏览器不能安装插件或者不能打开应用商店,请去百度下载 谷歌访问助手,教程很详细的),然后去应用商店下载 Xdebug如图

安装好之后会有个爬虫的图标如图

到此所以的准备工作就结束了!

二 ,现在就可以开始调试了

1、在你安装已Xdebug扩展的浏览器中,打开你本地项目的某一个页面。并开启浏览器右上角的debug,如下图。

2、在你的phpstorm编辑器中,打开你在浏览器中页面要经过的代码,并按下图中操作。

3、再一次刷新你在浏览器中打开的页面,然后看看你的phpstorm编辑器。左侧断点的红色圆圈,变成了圈中有一个对勾,那么代表你进入了断点。如下图

三、断点调试的一些简单操作

1,选中后点击鼠标右键,选择添加到监视,如下图

2、从你断点开始的地方,你可以按F7,程序会一步一步往下走,碰到函数的话,会跳转到该函数;按F8则是在当前代码页一行一行的往下走,碰到函数不会跳转。这两个功能是断点调试的最为实用和关键功能。

3、当你想直接从某个断点跳到另一行处断点时,你可以在进入断点后,在你想在另一行断点处,点击断点,然后按下F9。

本文参照 笨小孩丶如有侵权请联系本人!如有转载请说明出处!编辑不易 请点赞!

phpstorm 断点调试 傻瓜教程的更多相关文章

  1. PHPSTORM断点调试配置

    一.安装Xdebug xdebug官方提供了一个非常友好的安装指导: https://xdebug.org/wizard.php 打开上面的网站,将你的phpinfo页面输出的内容复制到表单中,然后点 ...

  2. phpstorm+xdebug调试详细教程

    对于PHP开发,初来咋到,开发环境的搭建和理解感觉是最烦人的一件事了.不像JAVA,打开一个Eclipse就可以开搞,Php的Debug都要几个插件来配合工作.这些都是死的,好说.但是对于Xdebug ...

  3. php window系统 xdebug+phpstorm 本地断点调试使用教程

    运行环境: phpStorm 2017.2 PHP 7.1.5 Xdebug 2.6.1 php.ini添加xdebug模块 你需要仔细分析和选择要下载的对应版本,否则无法调试.由于非常容易出错,建议 ...

  4. phpstorm断点调试 php.ini 文件中 Xdebug 配置

    [XDebug]xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug"xdebug.trace_output_dir="D ...

  5. phpstorm 断点调试总是从index.php的第一行开始

    去掉勾选,重开phpstorm

  6. lnmp安装xdebug ,配合phpstorm断点调试

    先下载xdebug wget http://www.xdebug.org/files/xdebug-2.2.3.tgz 然后开始编译(权限不够的加上 sudo 提成权限) tar xzf xdebug ...

  7. phpstorm 断点调试

    1.设置php的xdebug 在php.ini中设置 [XDebug] xdebug.profiler_output_dir="H:\phystudy\PHPTutorial\tmp\xde ...

  8. PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

    这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   笔者的开发环境如下:Windows8.1+Apache+P ...

  9. 史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置

    在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开发环境,就我个人而言,比较推崇 Zend Studio 和 PhpS ...

随机推荐

  1. django+uwsgi+nginx的部署

    1.下载与项目对应的django版本pip3 install django==1.11.16 -i https://pypi.douban.com/simple/2.用django内置的wsgi模块测 ...

  2. python使用pip 18以上版本离线安装package

    在内网办公环境,常常需要使用离线安装python的软件包. 一般都会先在互联网的电脑上下载,再拷贝到内网办公机器上进行离线安装. 一般来说,我是这样做的: 1.拷贝和外网电脑上版本一致,且32位或64 ...

  3. 本地项目文件夹上传至个人Github

    安装Git 之后到Git官网,点击Download下载,打开安装包一路按Next一切默认直至安装结束. 找到任意一个文件夹,点击鼠标右键后若出现下图的 Git Gui Here 和 Git Bash ...

  4. 数据库六大约束用法:主键(primary key)、外键(foreign key)、非空(not null)、默认(default)、检查(check)、唯一(unique)

    1. 数据库有六大约束 主键(primary key) 外键(foreign key):被参照的键必须有唯一约束或是主键 非空(not null) 默认(default) 检查(check):orac ...

  5. 【python】使用flask制作小型页面的关键点总结

    目录结构 app.py web代码 store.db 存储信息的轻量数据库,用的sqlite3 schema.sql 数据库的初始化建表语句 settings.cfg 配置信息 static/styl ...

  6. 将字符串转json时,保持顺序

    jo_tmp = json.loads(content.decode('utf-8'), object_pairs_hook=collections.OrderedDict)jo = json.dum ...

  7. sql父子表结构,常用脚本

    在实际运用中经常会创建这样的结构表Category(Id, ParentId, Name),特别是用于树形结构时(菜单树,权限树..),这种表设计自然而然地会用到递归,若是在程序中进行递归(虽然在程序 ...

  8. .net core Swagger 过滤部分Api

    因为场景需要,要把某些特定的api过滤掉,不允许显示在swaggerui里, 具体操作步骤: 分为三步 步骤1: 创建Attribute    /// <summary> /// igno ...

  9. About Why Inline Member Function Should Defined in The Header File

    About why inline member function should defined in the header file. It is legal to specify inline on ...

  10. SVN 通过Shell Bash 获取项目Reversion号码

    接上篇  Jenkins Vue项目自动构建以及构建后续操作 在项目构建完成后,需要提供当前构建的一个唯一标识的东西,并告诉我们的上线系统,这个唯一标识的东西可以让我们在回退线上版本的时候变得很有用, ...