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连接mssql:pdo odbc sql server
Jul 20 PHP
php文本转图片自动换行的方法
Mar 13 PHP
PHP中soap的用法实例
Oct 24 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
Yii获取当前url和域名的方法
Jun 08 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
php批量删除操作(数据访问)
May 23 PHP
Yii 2.0中场景的使用教程
Jun 02 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
Oct 14 PHP
Laravel 前端资源配置教程
Oct 18 PHP
php实现JWT验证的实例教程
Nov 26 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
wxPython中listbox用法实例详解
2015/06/01 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
django下创建多个app并设置urls方法
2020/08/02 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
如何进行Linux分区优化
2016/09/13 面试题
编辑找工作求职信范文
2013/12/16 职场文书
安全教育观后感
2015/06/17 职场文书
创业计划书之干洗店
2019/09/10 职场文书