PhpStorm2020 + phpstudyV8 +XDebug的教程详解


Posted in PHP onSeptember 17, 2020

WNMP(Windows+Nginx+Mysql+Php)环境安装操作:

1、安装phpStudy

1.1、下载phpStudy

下载地址:www.xp.cn/
解压后运行exe进行安装,我的安装目录是:D:\phpstudy_pro

1.2、配置环境:

在桌面启动小皮进行配置,我的配置如下:

首页面板:启动"WNMP"

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

网站面板:PHP版本

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

环境面板:数据库、PHP运行环境

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

2、安装PhpStorm2020

2.1、下载phpStudy

下载地址:https://blog.jetbrains.com/phpstorm/2020/03/phpstorm-2020-1-beta/

我使用的是缺省目录进行安装,如何激活在这就不详细说了。

2.1、配置PHP版本信息

我们点击“File->Settings”菜单进行PHP版本配置,使用和phpstudy对应的版本PHP7.3.4。

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

注意:Interpreter默认是没有的,我们需要点击右边的按钮进行配置。

PhpStorm2020 + phpstudyV8 +XDebug的教程详解
PhpStorm2020 + phpstudyV8 +XDebug的教程详解

3、新建测试工程

 3.1、使用PhpStorm新建工程"HelloPHP"

第一步:打开PhpStorm软件,点击创建新项目,在输入框填写带项目存放地址的项目名称,完成后点击创建。

PhpStorm2020 + phpstudyV8 +XDebug的教程详解 

3.2、配置工程的本地服务

我们点击“工具/部署/配置”菜单进行本地服务配置

PhpStorm2020 + phpstudyV8 +XDebug的教程详解
PhpStorm2020 + phpstudyV8 +XDebug的教程详解

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

点击确定后进行具体配置:
Connection面板:配置部署目录

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

Mappings面板:配置相对目录和访问地址

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

配置完之后点击“确定”。

3.3、配置运行环境

我们点击“运行/编辑配置”菜单进行运行环境配置

PhpStorm2020 + phpstudyV8 +XDebug的教程详解
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
PhpStorm2020 + phpstudyV8 +XDebug的教程详解

3.4、创建PHP文件

选择工程,单击右键->New->PHP File

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

输入文件的名称,点击确定增加PHP文件

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

在新建的文件里输入代码:

<?php
echo "Hello PHP!"; // 在页面上输出“Hello PHP!”
phpinfo();     // 调用PHP内置的函数显示PHP的基本信息

3.5、部署工程

在菜单中选择Tools->Deployment->Upload to localhost上传工程。

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

上传成功后,下方控制台显示上传的具体信息:

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

我们在phpstudy的www/HelloPHP目录下可以找到刚才上传的Index.php文件

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

3.6、运行Hello PHP

点击页面中悬浮的浏览器运行页面

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

我们来看看效果:

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

到这,我们完成了PHPStudy+PHPStorm配置和HelloPHP的运行,但是到目前为止PHPStorm只是承担了编辑器和部署的功能,没法直接调试,下面我们就来完成在PHPStorm进行单步调试。

4、调试Hello PHP

4.1、浏览器和插件

1)浏览器我们使用chrome,下载地址:https://www.google.com/chrome/;
2)配合chrome的插件我们使用xdebug,安装完成在浏览器地址栏的右侧能够看到一只小爬虫,点击后如下图所示:

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

我们选择Debug,就会通知我们的开发环境进行调试,选择disable,就会直接运行。
我们可以在xdebug helper中配置它,选择phpstorm并且在右边的框中填入phpstorm-xdebug。

PhpStorm2020 + phpstudyV8 +XDebug的教程详解
PhpStorm2020 + phpstudyV8 +XDebug的教程详解

到这里,我们可以phpstorm中设置断点,然后使用浏览器的xdebug helper开启页面调试。

4.2、在php.ini文件的末尾添加如下配置:

[Xdebug]
zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=On
xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace	;设置的函数调用监测信息的输出路径
;xdebug.profiler_enable=On	;效能监测的设置开关
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir="D:\phpstudy_pro\Extensions\tmp\xdebug"	;profiler_enable设置为1的时候,效能监测信息写入文件所在的目录
xdebug.remote_host = "localhost"
xdebug.remote_port=9090
xdebug.remote_handler="dbgp"
xdebug.profiler_append = 0
xdebug.remote_enable=On
xdebug.idekey=phpstorm-xdebug
xdebug.profiler_output_name ="cache.out.%t-%s"	;生成的效能监测文件的名字

4.3、在PhpStorm配置Debug:

1)选择File->Settings->Languages&Frameworks->PHP>Debug,找到XDebug选项卡,Debug port 输入的是刚刚php.ini配置文件当中xdebug.remote_port的值,具体配置如下图:

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

2)选择File->Settings->Languages&Frameworks->PHP->Debug->DBGp Proxy,
IED key输入刚刚php.ini文件中xdebug.idekey的值,Host、Port是File->Settings->Languages&Frameworks->PHP->Servers中设定的Host、Port值,具体配置如下图:

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

4.4、开启XDebug调试

在phpStorm里打开监听,就是一个电话一样的按钮,点击变为绿色,在程序代码点前点击,设置程序段点,点击绿色的debug爬虫按钮,chrome浏览器打开xdebug页,phpStorm出现debug窗口,并获取到variables值

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

5、错误处理

5.1 PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0

原因1:
remote_port我们使用的是9090,默认使用的是9000。由于9000端口会被nginx占用做代理,如果被占用,就会导致php无法调试。
原因2:
phpStudy集成XDebug扩展,我们在PHP扩展中选择php_xdebug时会出现上述错误,个人分析:可能是因为php.ini中配置的zend_extension和选项有冲突。

PhpStorm2020 + phpstudyV8 +XDebug的教程详解

到此这篇关于PhpStorm2020 + phpstudyV8 +XDebug的教程详解的文章就介绍到这了,更多相关PhpStorm2020 phpstudyV8 XDebug内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
php之字符串变相相减的代码
Mar 19 PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
PHP中获取变量的变量名的一段代码的bug分析
Jul 07 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
php实现的漂亮分页方法
Apr 17 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 PHP
phpstorm激活码2020附使用详细教程
Sep 25 #PHP
phpStorm2020 注册码
Sep 17 #PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 #PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 25 #PHP
详解phpstorm2020最新破解方法
Sep 17 #PHP
goto语法在PHP中的使用教程
Sep 17 #PHP
详解使用php-cs-fixer格式化代码
Sep 16 #PHP
You might like
解决中英文字符串长度问题函数
2007/01/16 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
小程序实现列表展开收起效果
2020/07/29 Javascript
在Python中使用__slots__方法的详细教程
2015/04/28 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
python实现代码统计器
2019/09/19 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
Html5定位终极解决方案
2020/02/05 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
Java输出Hello World完美过程解析
2021/06/13 Java/Android
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python
SQL Server实现分页方法介绍
2022/03/16 SQL Server