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开发GUI
Oct 09 PHP
人大复印资料处理程序_输入篇
Oct 09 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
php中++i 与 i++ 的区别
Aug 08 PHP
php处理restful请求的路由类分享
Feb 27 PHP
PHP中new static()与new self()的区别异同分析
Aug 22 PHP
php 实现进制相互转换
Apr 07 PHP
PHP房贷计算器实例代码,等额本息,等额本金
Apr 01 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
PHP levenshtein()函数用法讲解
Mar 08 PHP
php和redis实现秒杀活动的流程
Jul 17 PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
关于PHP5 Session生命周期介绍
2010/03/02 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
python遍历类中所有成员的方法
2015/03/18 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
python 剪切移动文件的实现代码
2018/08/02 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
python计算auc的方法
2020/09/09 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
什么是数据抽象
2016/11/26 面试题
公关关系专员的自我评价分享
2013/11/20 职场文书
口头翻译求职人自荐信
2013/12/07 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
2014年纪检工作总结
2014/11/12 职场文书