VSCODE+PHP8.2配置踩坑记录

VSCODE+PHP8.2配置踩坑记录 – WhiteNight's Site

我配置过的最恶心的环境之一:windows上的php。另一个是我centos服务器上的php。

进不了断点

端口配置和xdebug的安装

这个应该是最常见的问题了。从网上下载完php并解压到本地,打开vscode,安装php拓展和php server,php debug这两个调试用的拓展,敲下了人生中的第一段php代码

<?php
$a=1+2;
$b=$a*2;
phpinfo(); //测试用,能正常访问说明php环境配置是正常的
?>

接下来有几种情况:

  • 右键代码,选择 reload server(php server拓展的功能),如果能正常打开phpinfo()的页面,说明你的php环境配置没问题。

phpinfo

这是比较好的情况,未来可期。接下来你可以试着打几个断点,先开debug调试,再reload server,看看能不能命中断点,命中的话在vscode的debug界面,左边有“变量”,“监视”啥的,变量那一栏会显示当前变量的值之类的的信息。

写者注

debug需要用vscode打开xxx.php所在的文件夹,再选中你要调试的php文件。

如果这一步也没问题,说明大功告成。能正常访问phpinfo()+能正常debug和命中断点的话,接下来就可以开始php之旅了。

但上面也说过这是最好的情况。实际上你可能会碰到以下几种情况。

  • 无法访问phpinfo(),打开的页面显示request not found之类的。
  • 能访问phpinfo(),但是设置了断点后,debug键都点烂了还是没法命中断点。
  • 右键reload server不会自动打开浏览器界面,需要手动输localhost:port才能访问,而且访问的界面也是request not found(php server拓展默认reload server后会自动打开浏览器。如果没打开除了php的问题之外,也可能是你改拓展设置的时候不小心点到了)

总之问题有很多,导致问题的原因也有很多。这里也只是举出我解决该问题的方法。由于php和xdebug的版本不同,该方法可能适用也可能一点用都没有,建议自己摸索。

部分解决方法

php 8.2与xdebug 3.3.0alpha2

上面是我的php和xdebug的版本。毕竟版本不同的话解决方法可能不通用。

除此之外,在vscode中你还应该安装以下三个拓展:

  • php
  • php debug
  • php server

先来说说xdebug,这东西是必须要装的。不装这东西就没法debug调试。安装的话去xdebug官网下,记得下载的xdebug版本要和你用的php版本相匹配。

下载完之后,可以下载的dll重命名为php.xdebug.dll,方便后面的配置。然后扔进php的ext文件夹。接下来开始最重要的第一步:xdebug的配置。

打开php文件夹下的php.ini,在文件末尾输入

[XDebug]
zend_extension="F:\php\ext\php_xdebug.dll"
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.remote_host=localhost
xdebug.remote_port=9003
xdebug.remote_handler=dbgp

该配置仅能保证你能正常使用debug功能,其他的需要自己配置。

接下来开始第二步,vscode中debug的配置。在debug界面找到launch.json,开始配置端口。

配置文件的格式大致如下,其中最重要的是端口的配置。这里的端口需要和你在php.in中为xdebug配置的端口保持一致。

{// 使用 IntelliSense 了解相关属性。// 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Listen for XDebug","type": "php","request": "launch","port": 9003},{"name": "Launch currently open script","type": "php","request": "launch","program": "${file}","cwd": "${fileDirname}","port": 9003}]}

之后再打断点-启动调试-启动php server,应该就不会出现问题了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/132087.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PanoFlow:学习360°用于周围时间理解的光流

1.摘要&#xff1a; 光流估计是自动驾驶和机器人系统中的一项基本任务&#xff0c;它能够在时间上解释交通场景。自动驾驶汽车显然受益于360提供的超宽视野&#xff08;FoV&#xff09;◦ 全景传感器。 然而&#xff0c;由于全景相机独特的成像过程&#xff0c;为针孔图像设计…

邮件营销主题怎样撰写效果好

邮件营销主题是向订阅者提供有关公司、产品或服务的新消息和信息。邮件营销主题可以包括促销、折扣、新产品、优惠活动等。邮件营销主题可以吸引订阅者打开邮件&#xff0c;了解公司的新消息&#xff0c;从而增加公司的品牌知名度和销售额。在选择邮件营销主题时&#xff0c;需…

高级网络调试技巧:使用Charles Proxy捕获和修改HTTP/HTTPS请求

今天我将与大家分享一种强大的网络调试技巧&#xff0c;那就是使用Charles Proxy来捕获和修改HTTP/HTTPS请求。如果您是一位开发人员或者网络调试爱好者&#xff0c;那么这个工具肯定对您有着很大的帮助。接下来&#xff0c;让我们一起来学习如何使用Charles Proxy进行高级网络…

安道亮相深圳国际全触与显示展,展示最新商显研发成果!

10月11日&#xff0c;2023深圳国际全触与显示展在深圳举行&#xff0c;安道及晟沃携最新智能交互一体机、会议配件等最新商显产品亮相&#xff0c;现场真实智能会议场景&#xff0c;全面展现安道在智慧终端方面的卓越研发实力和创新应用能力&#xff0c;吸引了众多观众前来展台…

东芝Z750的画质真实吗?适合看纪录片吗?

东芝Z750显示的画面更加真实、细腻、有层次感,就感觉电视中的画面像真实世界一般呈现在眼前,东芝电视拥有70余年的原色调校技术,每款产品都有专属的日本调校工程师匠心打造,可以真实还原画面色彩,若是观看类似《航拍中国》这样的旅游记录片时,东芝电视将会营造出万里山河的壮阔…

MacOS Pro笔记本硬盘升级纪实

背景 MacPro 2015 mid的苹果本&#xff0c;忽然心血来潮想升级一下SSD。三个步骤&#xff1a;做启动盘&#xff0c;时间机器备份&#xff0c;插新的SSD盘恢复。 过程 下载MacOS&#xff0c;macOS Monterey 12.7官方原版镜像&#xff1a; https://swcdn.apple.com/content/do…

ElementPlus Switch 开关基础使用

昨天开发用到开关组件 后台返回字段是 can_write 默认是0 or 1 但是Switch 组件绑定的默认值默认是 true or false 直接绑定会导致默认是关闭状态 在页面一加载 值发生变化时 会自己调用 查了文档 需要使用 active-value 和 inactive-value 来指定绑定的数据类型 …

Unity基础课程之物理引擎6-关于物理材质的使用和理解

每个物体都有着不同的摩擦力。光滑的冰面摩擦力很小&#xff0c;而地毯表面的摩擦力则很大。另外每种材料也有着不同的弹性&#xff0c;橡皮表面的弹性大&#xff0c;硬质地面的弹性小。在Unity中这些现象都符合日常的理念。虽然从原理上讲&#xff0c;物体的摩擦力和弹性有着更…

代理IP端口是什么意思呢?

今天&#xff0c;咱们来聊聊一个小众但很有料的话题——代理IP端口&#xff0c;它可是你纵横互联网世界的好搭子哦&#xff01; 首先&#xff0c;我们得先弄明白&#xff0c;代理IP端口是个啥? 代理IP端口就像是通往网络世界的门票&#xff0c;是你和代理服务器之间的桥梁。…

生活中的视音频技术

生活中的视音频技术 平时我们打开电脑中自己存电影的目录的话&#xff0c;一般都会如下图所示&#xff0c;一大堆五花八门的电影。&#xff08;其实专业的影视爱好者一概会把影视文件分门别类的&#xff0c;但我比较懒&#xff0c;一股脑把电影放在了一起&#xff09; 因为下载…

NodeJs内置模块child_process

内置模块child_process子进程 写在前面 子进程是Nodejs的核心Api&#xff0c;如果你会shell命令&#xff0c;它会有非常大的帮助&#xff0c;或者你喜欢编写前端工程化工具之类&#xff0c;它也有很大的用处&#xff0c;以及处理CPU密集型应用。 创建子进程 Nodejs创建子进…

linux 安装mysql

1、下载mysql安装包 2、创建mysql文件夹 mkdir /usr/local/mysql 3、解压mysql安装包&#xff0c;并将解压出来的文件夹下面的内容全部移动到/usr/local/mysql下 解压 tar zxvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 移动 mv /usr/local/src/mysql-5.7.39-linux-gl…