PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因
笔者的开发环境如下:Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件)。
一、XDebug安装配置
(1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行。具体下载方法如下:将phpinfo网页的源代码拷贝到http://www.xdebug.org/find-binary.php,然后按照指导安装即可。如下图所示:
(2)安装XDebug按照上图下载“php_xdebug-2.3.2-5.4-vc9.dll”,将其复制到d:\php\ext\目录。
(3)配置XDebug打开d:\php\php.ini,在末尾增加如下代码:
[Xdebug]
zend_extension = d:\php\ext\php_xdebug-2.3.2-5.4-vc9.dll
xdebug.remote_enable =1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
重启Apache。
(4)验证安装是否成功
检测方法1:在phpinfo网页中,能够检索到XDebug字样,就安装成功了,如下图所示:(这里失效是因为在wamp环境下加载的是apache里面的php.ini)
检测方法2:(这里有显示是因为在终端环境下加载的是php里面的php.ini)
在cmd下输入php -m,能看到XDebug说明配置成功。如下图所示:
二、PHPStorm中XDebug配置在【File】->【Settings】->【Languages & Frameworks】->【PHP】的Setting中:
(1)配置PHP Server找到【Servers】,配置项如下: Name:localhostHost:localhostPort:80Debugger:XDebug如下图所示:
(2)配置PHP Debug找到【Debug】,XDebug中的Debug Port填写9000,其它默认。如下图所示:
5. 下面是客户端调试。打开phpStorm,进入File>Settings>PHP,这里要interpreter浏览,填D:\xampp\php\php.exe,自动识别版本。
原因是phpstorm 自带的php 插件安装包不完整,路径 C:\Program Files\JetBrains\PhpStorm 10.0\plugins\php 只有一个lib 库; 解决办法,需要装一个xampp 工具包,工具包里自带php 5.6 版本 然后重新将php interpreter 路径指导wamp 安装路径下的php 所在路径,即可detect到php的版本
6. 进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug。图7
XAMPP+phpStorm+XDebug+chrome 配置和断点调试">
7. 进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认。图8
8. 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 PHPSTORM,host 填localhost,port 填9000,点OK退出设置。图9
XAMPP+phpStorm+XDebug+chrome 配置和断点调试">
9. 进入Run> Debug configurations,点+号,Server选填localhost,start url填http://localhost/9999m, Browse 填chrome,点OK退出设置。图10
XAMPP+phpStorm+XDebug+chrome 配置和断点调试">
三、Fireforx中XDebog helper插件的配置
(1)安装XDebug helper插件如下图所示:
(2)配置XDebug helper插件在上图中,点击【选项】,然后按照如下进行配置:IDE key:PhpStormDomain filter:
localhost如下图所示:
四、使用XDebug调试方法及步骤
(1)在PHPStorm中开启Debug监听点击那个像电话一样的图标即可开启Debug监听,如下图所示:
(2)在Chrome浏览器中开启XDebug helper插件
方法一:在地址栏中,点击那个的虫子,选择Debug,如下图所示:
方法二:使用快捷键:CTRL+SHIFT+X进行配置。
(3)在PHPStorm中设置断点在行号后面空白处单击即可设置断点。
(4)断点调试然后在浏览器中引导到相应的断点处的方法即可自动被断下来,如下图所示:
红色框框中有所有的断点处理方式及快捷键提示。
以上就是本文的全部内容,希望对大家学习PHP调试教程有所帮助。
在一键集成环境Wamp中加载Xdebug为什么不成功呢,主要原因如下:
你是否有过这样的经历,当你打开wamp的php.ini,并进行参数修改之后。再回到命令去运行你的php脚本,却发现你的设置居然不生效?
如果有这样的情况,那你得先了解php的两种运行运行环境,一个在命令终端上,一种是在服务器上(在这里还细分cgi,fast-cgi,web模块模式)!
当我们以脚本运行我们的php脚本的时候,比如我这里将wamp安装在D盘。在wamp中加载的d:\wamp\bin\php\php5.xx\php.ini;而在apache服务器运行的时候,则变成D:\wamp\bin\apache\Apache2.2.21\bin\php.ini,可以看到这两个方式加载的php.ini不一样!
如果你实在找不到这两个,可以在安装wamp的盘符里面,进入wamp的文件夹,然后进行搜索‘php.ini‘。
平常我们修改的是apache服务器上的php.ini。
下面我们来看一下命令行下面的配置文件信息,来验证我们的说法。这和前面说的一致,当你需要加载某个库,以便你的脚本能运行时,可以在终端里面输入上面的命令。
服务器方面。我们才会用phpinfo.php来查看
<?php
phpinfo();
?>
然后我们查找一下“php.ini”的位置,可以看到如下的内容!
这样我们就明了,而致于上面这个路径,应该是其编译的时候就行硬编码而来的,下面是我们在C:\windows下查找php.ini文件的结果
综上,我们可以知道,wamp这个套件有两个php.ini,分别为命令行和apache服务器提供配置信息。我们要根据自己运行情况去修改!http://www.mamicode.com/info-detail-515942.html
PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因的更多相关文章
- 解析wamp的php.ini设置不生效的原因
你是否有过这样的经历,当你打开wamp的php.ini,并进行参数修改之后.再回到命令去运行你的php脚本,却发现你的设置居然不生效? 如果有这样的情况,那你得先了解php的两种运行运行环境,一个在命 ...
- 转:PHPStorm+XDebug进行调试图文教程
原文:PHPStorm+XDebug进行调试图文教程 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行. ...
- 【PHP】- PHPStorm+XDebug进行调试图文教程
转载:https://www.cnblogs.com/LWMLWM/p/8251905.html 这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的 ...
- PHPStorm+XDebug进行调试图文教程
这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 另外如果你们加载不出图片,另外的地址:转载地址https:// ...
- PhpStorm+xdebug+postman调试
PhpStorm+xdebug+postman调试 写PHP时,一直用postman做测试,最近发现在测试过程中可以用xdebug来断点调试,比原来手动打exit或者die来断点效率高多了. 下面记录 ...
- PhpStorm Xdebug远程调试环境搭建原理分析及问题排查
2017年05月26日 经验心得 目录 一. 环境介绍 二. 远程环境配置 2.2 Xdebug安装 2.3 配置 三. 本地phpstorm配置 3.1 下载远程代码 3.2 添加php解释器 ...
- php安装xdebug扩展,PHPStorm+XDebug单步调试
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- php window系统 xdebug+phpstorm 本地断点调试使用教程
运行环境: phpStorm 2017.2 PHP 7.1.5 Xdebug 2.6.1 php.ini添加xdebug模块 你需要仔细分析和选择要下载的对应版本,否则无法调试.由于非常容易出错,建议 ...
- PhpStorm XDebug 远程调试
现在我们自己公司的各种开发和测试服务器,都是使用阿里云的服务器.一些PHP的项目,无法在本地搭建完整的环境,在外网服务器上调试更方便定位问题.发现网上没有完整的关于如何配置PHPStorm和XDebu ...
随机推荐
- 【Unity3D插件】在Unity中读写文件数据:LitJSON快速教程
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 介绍 JSON是一个简单的,但功能强大的序列 ...
- Android 初阶自定义 View 字符头像
自己很少做自定义 View ,只有最开始的时候跟着郭神写了一个小 Demo ,后来随着见识的越来越多,特别是在开源社区看到很多优秀的漂亮的控件,都是羡慕的要死,但是拉下来的代码还是看不明白,而且当时因 ...
- python扫描内网banner信息
小菜自己无聊写着玩,主要纪念以前的逗逼学习,可以改IPy import mechanize import cookielib import socket import argparse import ...
- SQL 将一列多行数据合并为一行 FOR XML PATH
FOR XML PATH 方法是用于将查询结果集以XML形式展示,这样展示方式的好处不言而喻.现在我要介绍的FOR XML PATH的"另类"用法. 首先,我们先来看看它的正常用法 ...
- hibernate--HQL语法与详细解释
HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此 Hi ...
- CSS3弹性盒模型之box-flex
对于之前讲过的box-sizing属性,对于页面布局很有用,但是突然发现它依然存在一些问题,前面例子中不会存在问题,不代表它没有问题.如果元素的个数整除100%的时候呢,比较3个元素,那么第一个盒子的 ...
- Web前端开发笔试&面试_04_20161019MTBS
1.运用CSS3 ,实现div 沿Y 轴上下循环运动的动画. 我写是:-webkit-animation:xz 3s linear 1s infinite //即XZ轴变化,Y轴不变 正确答案是: & ...
- Vs 2015 中一些新的语法支持
又是语法糖. 1, if (tdata != null && tdata.Data != null) 等价于 if (tdata?.Data != null) 2, int a ...
- Google将数十亿行代码储存在单一的源码库
过去16年,Google使用一个中心化源码控制系统去管理一个日益庞大的单一共享源码库.它的代码库包含了约10亿个文件(有重复文件和分支)和 3500万行注解,86TB数据,900万唯一源文件中含有大约 ...
- redis报错Windows error 0x70(a large memory)
redis报错Windows error 0x70 redis 嫌弃你内存不够了,就给你不开第二个实例. The Windows version of Redis allocates a large ...