PHP 设置调试工具XDebug PHPStorm IDE

news/2024/7/16 8:10:08 标签: php, ide, 调试, 扩展

php-设置调试工具xdebug-phpstorm-ide"> PHP 设置调试工具XDebug PHPStorm IDE

先下载PHP扩展Xdebug https://xdebug.org, 可以复制自己的phpinfo粘贴到https://xdebug.org/wizard.php中, 会生成需要下载的版本, php.ini的设置语句.

下载好之后放入php目录的ext文件夹中, 然后设置php.ini, 在最后加上

zend_extension = D:\XAMPP\php\ext\php_xdebug.dll
xdebug.remote_enable =1
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.idekey=PHPSTORM

然后重启apache, 去设置phpstorm

 

1. 进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息:
name: localhost,
host: localhost,
port: 80,
debugger: XDebug

如果是自定域名则host设置自定域名, 如laravel5.io


2. 进入File>Settings>PHP>Debug,找到XDebug选项卡,port填9000
进入File>Settings>PHP>Debug>DBGp Proxy 填写:
IDE key: phpStorm
host: localhost
port: 80


设置完毕,点OK退出。

 

点菜单栏的Run>Edit Configurations… 在弹出的窗口中添加一个调试配置:

点击左上角加号,选择PHP Web Application

填写完毕后,在代码里设置断点, 再开启电话icno监听, 点小甲壳虫启动调试

再下个浏览器插件, xdebug helper, 下载好之后点选项, IDE选PHPSTORM, 不想让所以网页显示小甲虫, 可以设置domain filter

基本完事了, 调试就点开电话图标监听, 设置好断点, 点小甲虫开启调试了, 刷新页面可见结果

使用调试功能

在需要调试的行上打上断点(点击一下行号后面的空白处即可,再点一次取消断点),需要说明的是当程序运行到该断点时,程序会停留在该行,但该行本身不会执行。自此可以查看程序运行到此处时所包含的所有数据信息。当然,查看信息功能相当于使用echo,print或者var_dump。
操作流程:
打断点—>点击臭虫 —>点击浏览器页面触发断点 —>自动跳转回PhpStorm—>查看携带的数据(调试的目的)—>可按步执行查找问题点—>点击运行(或者F5)—>浏览器页面继续执行—>调试完成






补充说明:

如果端口被占用,可以在php.ini中配置xdebug.remote_port与PhpStorm中的Debug port相同即可。
php.ini中:
xdebug.remote_port = 9000

PhpStorm中:




总结:

Xdebug可以用来跟踪,调试和分析PHP程序的运行状况。本文重点是调试。Xdebug本身拥有大量内置函数,可以分析php程序性能瓶颈等问题。关于其高级使用方法,会在其他文章中讲到。灵活使用Xdebug,对提高调试效率会有很大帮助。

http://www.niftyadmin.cn/n/1550052.html

相关文章

根据内容设置web View的高度

CGFloat webViewHeight [[_webView stringByEvaluatingJavaScriptFromString:"document.body.offsetHeight"] intValue]; _webView.frame CGRectMake(0, 0, width, webViewHeight);

web系统四层结构中服务器端,WEB浏览器与Web服务器第七章作业

姓名:李明轩 学号:20122070604 班级:100706第七章1.试述Web浏览器与Web服务器的功能并分别描述具有二、三、层结构的Web信息系统的执行流程。答:Web浏览器的功能:①检索功能;②文件服务;③热表管…

webView加载NSString中的文字和图片

比如 studycontent " \U4e00\U822c\U6765\U8bf4\Uff0c\U4ece\U5c0f\U5b69\U4e09\U5c81\U5c31\U8981\U5f00\U59cb\U8fdb\U884c\U8bad\U80b2\Uff0c\U90a3\U4e48\U5173\U4e8e\U8bad\U80b2\U7684\U6700\U6070\U5f53\U7684\U65b9\U6cd5\U662f\U4ec0\U4e48\U5462\Uff1f<…

js控制vedio视频和分段播放

HTML5 vedio常用的js操作 1、选择本地资源播放视频 html: <input type"file" id"file" οnchange"setMediaFile()"> <video id"video1" autoplay"autoplay" controls"none" ></video> js: …

在ajax中幸运抽奖,JS实现幸运抽奖页面

JS实现简单的幸运抽奖页面效果图&#xff1a;图片素材 &#xff1a;代码如下&#xff0c;复制即可使用&#xff1a;幸运抽奖页面/*CSS代码*/*{padding:0;margin:0;}.login-box{width:500px;height:430px;/* border:1px solid red;*//*水平居中*/margin:100px auto;background: …

去掉UIWebView底部的黑条

UIWebView底部的黑条很难看&#xff0c;隐藏的做法其实很简单&#xff0c;只需要将opaque设为NO&#xff0c;背景色设为clearColor即可。

JS格式化Thu May 12 2017 08:00:00 GMT+0800 (中国标准时间)

<script type"text/javascript">var date new Date(Thu May 12 2017 08:00:00 GMT0800 (中国标准时间)); date_valuedate.getFullYear() - (date.getMonth() 1) - date.getDate() date.getHours() : date.getMinutes() : date.getSeconds(); /…

UITableView 如何不动态计算返回的cell 的高度

在UITableView 中 &#xff0c; 实现 UITableViewDelegate 的时候&#xff0c;一般需要实现 heightForRowAtIndexPath 来返回当前indexPath的cell 的高度。 但是很多时候 cell的高度不是固定的&#xff0c;这个时候单独去计算每个cell的高度就会很麻烦。现在 Apple 在 iOS 7.0…