PhpStorm配置Xdebug调试
安装xdebug
去官网下载对应版本的xdebug扩展
XDEBUG EXTENSION FOR PHP | DOWNLOADS
如何选择正确版本
- 输出phpinfo()函数的内容

- 查看输出页面的网页源码

- 全选复制

- 到这个页面XDEBUG EXTENSION FOR PHP | DOCUMENTATION | INSTALLATION,将刚才复制的内容拷贝进去,并分析

- 可以得到自己当前版本的php对应哪一个xdebug文件

安装扩展
这个windows系统和Linux系统是不一样的(网上很多,不细说)
windows
放到php ext的目录下
配置php.ini
[XDebug]
zend_extension = "D:\你php的ext目录位置\php\ext\php_xdebug.dll"
xdebug.remote_autostart=1
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost" #本地服务器
xdebug.remote_port = 9010 #默认为9000,防止与php-fpm冲突,改为9010
xdebug.idekey="PHPSTORM" #会话需要的key
Linux
这个很多种情况,一般就apt和yum,如果手动编译就需要.so扩展放到正确位置(phpize使用)
配置phpStorm
先查看xdebug是否安装成功

接下去配置phpstorm
我是基于这个版本的

打开phpstorm配置文件

设置本地的php解释器
php解释器,就是php的二进制文件,windows下的php安装路径下的php.exe,类unix系统就是bin/php文件

如果没有上述选项

填写服务器端的相关信息
Host指的是服务器对应的项目的访问域名
- 本地nginx我用127.0.0.1
- 用默认的80端口

配置xdebug选项

配置DBGp Proxy

添加一个调试配置

- 我们这里使用的是PHP Web Page,是需要依赖浏览器,额外的说明我写在本文的后记了,不是现在需要关注的重点


配置chrome
安装浏览器插件
我这里使用的是chrome浏览器,安装的是xdebug helper插件,无法使用应用商店的可以到国内镜像网站去下

配置插件

开始调试


后记
本文中,我们PhpStorm使用的是PHP Web Page,这是需要依赖浏览器,且浏览器是必须安装插件
另一种情况,如果我们使用PHP Remote Debug,就只需要在网址后面加上?XDEBUG_SESSION_START=PHPSTORM,这样可以调试了,和浏览器无关
两者各有优劣,使用Remote Debug的坏处在于需要加上参数,但却不依赖浏览器,有利于手机App,微信的调试
原文:https://segmentfault.com/a/1190000018090880#articleHeader9
-----------------------------------------------------------------------------------------------------------------------------------------------------
配置总结:
1、不要依靠wamp上php版本对应的xdebug版本,要按照上面描述的方法进行检测,下载匹配的xdebug版本。
2、这个调试是要在浏览器里安装插件才能进行调试,并且要手动输入调试地址,直接点击下图所示调试图标无效,暂时没弄明白。

3、google插件下载地址:http://chromecj.com/web-development/2018-04/980/download.html
PhpStorm配置Xdebug调试的更多相关文章
- 【总结1】PhpStorm配置XDebug(远程)调试PHP
配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境,打开php.ini,参考配置如下: [XDebug] zend_extension = "D:\P ...
- 在windows10环境下给PHPStorm配置xdebug断点调试功能
笔者的开发环境: wampserver2.5系统环境包 操作系统:windows10 64位专业版. php版本:php5.512 Apache版本:2.49 好了下面介绍,phpstorm配置xde ...
- 为 PhpStorm 配置 Xdebug 来调试代码
当项目越来越复杂,排错就越发困难. 你以为代码是这么运行的,但就是有未想到的功能导致流程变得不可捉摸. 此时我们需要调试啊调试... PhpStorm 是一款优秀的 PHP IDE,排除其 Java ...
- 【总结2】PhpStorm利用XDebug调试PHP技巧
在写完 [总结1]PhpStorm配置XDebug(远程)调试PHP 后,发现PhpStorm调试PHP还有一个技巧,如下图所示: 路径:File -> Settings -> Langu ...
- PHPStorm使用XDebug调试
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- phpstorm设置xdebug调试
phpstorm设置xdebug调试# wamp开发环境安装完成以后,打开网页,输入 :localhost 检测xdebug是否开启 3.若xdebug已开启,请找到你wamp或者phpstudy的安 ...
- 使用zend studio配置Xdebug调试PHP教程
这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...
- ubuntn下 nginx+phpstorm 中配置xdebug调试
xdebug安装和配置说明,主要用于个人学习记录. 一.echo phpinfo(); 搜素xdebug,若未搜素到,则标识未安装或安装失败. 二.拷贝步骤1中输出的所有结果.访问http://xde ...
- phpstorm配置Xdebug进行调试PHP教程
运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...
随机推荐
- Web大文件上传断点续传解决方案
最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...
- QT5线程关闭
QT5线程关闭 QThread析构函数的说明:请注意,删除一个QThread对象不会停止它管理的线程的执行. 删除正在运行的QThread(即isFinished()返回false)将导致程序崩溃. ...
- C语言 - strlen的编程实现及总结
一.函数strlen的编程实现 1.strlen函数的实现 原型: size_t strlen(const char *str); 头文件:#include <string.h> 功能:计 ...
- sh_11_字典的其他操作
sh_11_字典的其他操作 xiaoming_dict = {"name": "小明", "age": 18} # 1. 统计键值对数量 p ...
- [LOJ3124][CTS2019|CTSC2019]氪金手游:树形DP+概率DP+容斥原理
分析 首先容易得出这样一个事实,在若干物品中最先被选出的是编号为\(i\)的物品的概率为\(\frac{W_i}{\sum_{j=1}^{cnt}W_j}\). 假设树是一棵外向树,即父亲比儿子先选( ...
- 如何将JS中object转换为字符串
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象 var last=obj.toJSONString(); //将JSON对象转化为JSON字符 或者 va ...
- tps抖动
https://blog.csdn.net/lzqinfen/article/details/46820673 tps抖动厉害的原因?突然增加成倍的用户,如果性能表现良好,TPS应该成倍增加,响应时间 ...
- 字符 kotlin(3)
字符 用 Char 类型表示.它们不能直接当作数字) { // 错误:类型不兼容 // …… }} 字符字面值用单引号括起来: '1' . 特殊字符可以用反斜杠转义. 支持这几个转义序列: \t . ...
- JVM系列3:JVM垃圾回收
1.JVM内存分配和回收 1.1 对象分配原则 在JVM系列1:内存区域中我们谈到,JVM堆中的内存划分如下: 从中可以看出堆内存分为新生代和老年代以及永久代(在JDK1.8中已经被MetaSpace ...
- leetcode-easy-string- 125 Valid Palindrome
mycode 9.62% class Solution(object): def isPalindrome(self, s): """ :type s: str :r ...