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获取网络上文件
Oct 09 PHP
php 生成饼图 三维饼图
Sep 28 PHP
Linux下PHP加速器APC的安装与配置笔记
Oct 24 PHP
PHP实现过滤各种HTML标签
May 17 PHP
PHP网络操作函数汇总
May 18 PHP
php无序树实现方法
Jul 28 PHP
php常量详细解析
Oct 27 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
php中如何执行linux命令详解
Nov 06 PHP
laravel 出现command not found问题的解决方案
Oct 23 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
php调用c接口无错版介绍
2014/03/11 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
python如何使用unittest测试接口
2018/04/04 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
Python3中的bytes和str类型详解
2019/05/02 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
金融系应届毕业生求职信
2014/05/26 职场文书
汽车维修求职信
2014/06/15 职场文书
总经理检讨书
2014/09/15 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
买房子个人收入证明
2014/10/12 职场文书
详解Python描述符的工作原理
2021/06/11 Python
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
新手初学Java网络编程
2021/07/07 Java/Android
canvas实现贪食蛇的实践
2022/02/15 Javascript
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android