运行环境:

phpStorm 2017.2

PHP 7.1.5

Xdebug 2.6.1

php.ini添加xdebug模块

你需要仔细分析和选择要下载的对应版本,否则无法调试。由于非常容易出错,建议采用下面这种简单方法【注意:如果php版本与xdebug版本不匹配,虽然xdebug能安装成功,但会出现phpstorm配置xdebug只有第一行断点能触发的问题,如出现这个问题请重新更换xdebug版本】

首先获取phpinfo()函数的信息,如下图

ctrl+A全选这个页面的信息,然后粘贴到第一个图片的页面中。

不知道这个页面如何出现的同学在你的php服务器程序目录下 创建一个phpinfo.php文件,只需一行代码

<?php  phpinfo(); ?>

浏览器中输入 http://127.0.0.1/phpinfo.php 就出现上图的页面了。
然后,xdebug网站提供一个自动分析你系统对应的xdebug版本的页面,网址是  https://xdebug.org/wizard.php,打开把复制的内容输入到网址的编辑框中,如下图

把下载的dll文件放到php的ext扩展目录里面,最后在php.ini上添加以下配置:

zend_extension = "D:\PHPWAMP_IN2\phpwamp\server\php-nts-7.1.5\ext\php_xdebug-2.6.1-7.1-vc14-nts.dll"    ;指定Xdebug扩展文件的绝对路径,请自行修改此行配置
xdebug.idekey = PHPSTORM ;指定传递给DBGp调试器处理程序的IDE Key
xdebug.auto_trace=1 ;启用代码自动跟踪
xdebug.collect_params = 1 ;允许收集传递给函数的参数变量
xdebug.collect_return = 1 ;允许收集函数调用的返回值
xdebug.auto_trace = 1 ;启用代码自动跟踪
xdebug.remote_enable = 1 ;是否开启远程调试
xdebug.remote_host = localhost ;指定远程调试的主机名
xdebug.remote_port = 9070 ;指定远程调试的端口号
xdebug.remote_handler = dbgp ;指定远程调试的处理协议

重启apache 或者nginx检测xdebug是否安装成功。【特别提示:不管是Windows还是Linux安装xdebug都需要以zend扩展的形式安装,如果提示XDEBUG NOT LOADED AS ZEND EXTENSION即下图所示界面则没有正确安装,需要重新修改配置文件。】

phpstorm配置xdebug支持

打开phpStorm,快捷键Clt+Alt+S打开settings,配置debug

打开phpStorm,快捷键Clt+Alt+S打开settings,配置services

打开phpStorm,快捷键Clt+Alt+S打开settings,配置dbgp

打开phpStorm,添加调试配置

打开phpStorm,断点运行查看效果。

附带本例子调试的php代码,博主使用调试链接为:http://127.0.0.1/xdebug/index.php

//封装方法,取余
function kmod($x, $y)
{
//fmod() 函数返回除法的浮点数余数
return intval(fmod(floatval($x), $y));
} //数字标识
$mark_num = 1111;
//总数
$count = 15;
echo rand(111,222222);
$remainder_arr = [];
if(is_numeric($mark_num)){
$y = $count/2;
$init_num = 1;
$step = 1;
$auto_num = 1;
while ($init_num <= 5) {
if($step%2== 1){
$remainder = kmod($mark_num-$step,$y);
}else{
$remainder = kmod($mark_num+$step,$y);
}
if(!in_array($remainder,$remainder_arr)){
$remainder_arr[] = $remainder;
$init_num++;
}
if($auto_num >=100000){
//防止死循环
break;
}
$auto_num++;
$step++;
}
} print_r($remainder_arr);
echo 1;

postman使用xdebug调试

实质上,只要带上参数 XDEBUG_SESSION_START=PHPSTORM 即可,或者把XDEBUG_SESSION_START=PHPSTORM放到cookies使用

php window系统 xdebug+phpstorm 本地断点调试使用教程的更多相关文章

  1. PhpStorm本地断点调试

    一.断点调试php环境搭建 1.检测本地php环境是否安装了Xdebug 在本地输出phpinfo():搜索Xdebug;如下图  如果没有安装,安装操作Xdebug如下: 将phpinfo();的信 ...

  2. PHpStorm + phpstudy 断点调试配置

    步骤: phpstudy     其他菜单 ->打开配置文件 ->打开 php.ini ->找到 XDebug ->XDebug修改成下面文字 [XDebug] :红色  (1 ...

  3. 微信公众号本地断点调试(frp反向代理或Remote Debugger)

    问题描述: 需要开发微信授权和订阅推送,但是感觉调试不方便,就试着几种方式.因为是用的C#开发,Visual Studio工具自带配套的远程工具 (Remote Debugger).但是感觉不稳定,容 ...

  4. PhpStorm 配置本地断点调试

    前言: 有够拖延症的,应该是一年多以前就使用过PhpStorm的debug断点调试了吧,不够过当时是别人帮我配的,我记得还挺复杂.后来重装系统后尝试了配置,好像没成吧,记得当初老师帮我配也没成(... ...

  5. 本地环境phpStorm10+XDebug配置和断点调试

    安装环境:XAMPP;phpStorm版本10; windows 7 64bit. XAMPP.phpStorm 都直接安装在了D盘根目录,9999m目录建在D:\xampp\htocts下,即目录工 ...

  6. phpstorm中xdebug配置和断点调试

    今天赶紧把这个搞了  运行环境: phpStorm 2018 PHP 5.45 nts VC9 Xdebug 2.4.1 0x01 PHP安装xdebug扩展 自己之前装一直没装起 原来是版本问题 下 ...

  7. phpstorm 断点调试 傻瓜教程

    前言: 简单介绍下为什么要用断点调试,很多人说我在代码调试的部位用var_dump 或者 exit 或者print_r来进行断点,但是当项目足够大的时候这样的做法就比较费时费力,因为你断点后需要删除原 ...

  8. PHP使用phpstorm进行断点调试

    1.下载xdebug模块 (https://xdebug.org/) 注意:带"ts"是线程安全的意思,"nts"的他没有标示,也就是说,如果是nts的要下载没 ...

  9. phpstorm设置断点调试

    环境是:wamp PHP Version: 5.5.12 网上的教程很多,我自己按照教程操作,实现了断点调试,下面是我设置断点调试的步骤 1.修改配置文件php.ini,按下面修改(位置在最后) ; ...

随机推荐

  1. 关于SpringBoot 2.0,Pageable 无法注入,提示缺少默认构造方法的解决办法

    在SpringBoot 2.0 以前,我们会配置以下类 * @date 2018/06/03 */ @Configuration public class WebMvcConfig extends W ...

  2. [原]Chef_Server and Chef_WorkStation and Chef_Client Install Guide[by haibo]

    一.Prerequisite OS  :  CentOS-7.0-1406-x86_64-DVD.iso Time Server :   NTP Server SERVER NAME IP PLAN ...

  3. cs231n笔记 (一) 线性分类器

    Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...

  4. vue重要项目的参考

    https://github.com/PanJiaChen/vue-element-admin vue项目参考  重点 https://github.com/opendigg/awesome-gith ...

  5. 微信小程序中显示与隐藏(hidden)

    1.wx.wxml页面部分 <view bindtap='click'>点击</view> //这是显示隐藏的部分 <view hidden="{{hidden ...

  6. python语法_字符串拼接

    +号可以用来做字符串拼接 print("abc"+"efg"+"def") abcefgdef 字符串(str)与数字(int)不能使用+进 ...

  7. js 限制输入框只能输入数字的问题

    常规情况下,input设置为 type=‘number’  可以避免汉字,字符,字母,空格的输入,但是不能避免小减号 以及小键盘的减号-,加号+的输入, 可以考虑 监控 输入框的oninput事件,方 ...

  8. odoo中self的使用

    一:self是什么 目前新版的Odoo中使用到的self,是对  游标cr.用户ID.模型.上下文.记录集.缓存  的封装. 我们可以通过 self.XX 获取到这些封装的东西,比如:self.cr. ...

  9. 把项目运行到本地环境及mysql配置

    1. 添加本地域名C:\Windows\System32\drivers\etc\hosts 127.0.0.1 local.v7.com 2. 添加一个apache虚拟站点D:\wamp64\bin ...

  10. RabbitMQ的消息确认机制

    一:确认种类 RabbitMQ的消息确认有两种. 一种是消息发送确认.这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递.发送确认分为两步,一是确认是否到达交换器,二是 ...