如何在VSCode配置PHP开发环境(详细版)

2023-10-30

这篇博文是当初笔者上课需要配置XAMPP,整理出来配置方法,错漏之处没有认真核对,给造成麻烦的同学道个歉。
以下有两场修正之处。第一处,XAMPP国内下载地址改成了XAMPP中文网最新版本下载链接,给之前误下p2p的同学再次道个歉。
第二处,下载xdebug插件-添加配置处配置信息已经修正,感谢评论区@SabreWulf2020同学
另,水平有限暂时无法回复大家的私信问题,请谅解。

一、下载XAMPP

XAMPP是一个易于安装的Apache发行版,其中包含MariaDB、PHP和Perl。仅仅需要下载并启动安装程序。

XAMPP下载地址

官网下载:https://www.apachefriends.org/zh_cn/download.html
(服务器在国外,直连下载太慢,但是安全)
在这里插入图片描述

其他地址下载:https://onlinedown.rbread04.cn/huajunsafe/xampp8.0.0.1.rar
(笔者也痛恨p2p下载,所以之前备注下了尽量选择本地下载之类的,但是还是给大家造成了麻烦。上面链接已经替换成了XAMPP中文网的最新版本链接了,应该可以放心下)

另外再补充下站内下载的XAMPP。
https://pan.baidu.com/s/1hesFcbWY15ZqY0dHPr0flA?pwd=0000
感谢评论区@巴啦啦魔仙变!!同学的补充。

下载完后,PHP版本号是下面这个,后面需要用到
在这里插入图片描述

安装XAMPP

一路NEXT,安装地址最好不要选C盘,笔者安装的是英语版。

安装成功

在这里插入图片描述
根据需求开启,笔者写PHP的话选择开启Apache。

添加系统变量

把PHP.exe所在文件夹路径(笔者的是“D:\XAMPP\php”)添加进环境变量-系统变量-Path中(直接搜索框搜索系统变量便可找到)。

在cmd中输入php -v,检查是否配置成功
配置成功
在这里插入图片描述

二、 下载xdebug插件

下载地址:https://xdebug.org/download
下载什么PHP版本,可以在XAMPP中的README看到
(笔者的是PHP 7.4.0,而且是Thread safe版本,对应的是带TS的版本,下载下来对应的不带nts的版本,文件名:php_xdebug-2.9.7-7.4-vc15-x86_64.dll)
在这里插入图片描述

添加配置

把下载的x-debug文件(php_xdebug-2.9.7-7.4-vc15-x86_64.dll)复制到php\ext文件夹下
用记事本修改php.ini文件,在文件末尾添加几行配置信息,然后保存。

[xdebug]

zend_extension="D:/xampp/php/ext/php_xdebug-2.9.7-7.4-vc15-x86_64.dll"//这个地址以及文件名一定要正确

xdebug.remote_enable = 1

xdebug.remote_autostart = 1

三、下载并安装VSCode

下载地址:https://code.visualstudio.com/

在VSCode中安装调试插件

1、点击扩展栏,输入PHP,选择PHP Debug安装。

在这里插入图片描述
2、点击VSCode的 文件-首选项-设置(不同版本可能显示不同,注意查找用户设置),在设置里面的扩展找到php,点击setting.json添加以下一行配置:

"php.validate.executablePath": "D:/xampp/php/php.exe",
//地址是php.exe文件所在的位置

在这里插入图片描述
3、配置Debug

跳出的launch.json默认即可,不需要改动。

4、然后简单调试下,验证配置是否成功。
注意,一定要以打开文件夹的形式才能成功设置断点调试,单个文件无效。可以选择D:/xampp/php/www

<?php
$a = 'hello world';
echo $a;
?>

设置断点,然后启动调试。

5、在浏览器中打开要调试的php(不是文件路径而是服务器的地址(http://localhost:3000/hello.php)),VSCode就会命中到打断点的地方。

6、最后推荐安装这个插件:PHP Server
可以选择右键 PHP Server:Serve project,直接跳转到浏览器

在这里插入图片描述

7、运行结果
在这里插入图片描述

参考博文

https://www.cnblogs.com/mingyue1818/p/7169280.html
https://www.php.cn/tool/vscode/434910.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在VSCode配置PHP开发环境(详细版) 的相关文章

  • 每页都包含菜单

    假设我有一个简单的 CSS 布局 我的菜单是侧面的一列 此菜单将出现在每个网页上 大约 10 个网页 如果我在这个菜单上有链接等形式的项目 我怎样才能做到这样 如果我在一页上添加链接 它会将其添加到所有页面 你能把它做成一个 PHP 页面吗
  • 我应该存储密码的哈希值吗?

    用户系统和密码 我正在查看 MD5 内容 我想知道密码的正常 良好做法是什么 现在 我认为人们对密码进行超级加密并存储哈希值 如果是这样 密码检查如何工作 我只是让输入的密码再次经过加密过程 然后用存储的哈希值检查哈希值 对吗 这个问题可能
  • 用于解析差异的 PHP 类

    我正在编写一个 PHP 脚本 需要解释 Git 创建的 Diff 文件 如果我想解析 Diff 文件并基本上以完全不同的格式打印它 我应该如何进行 我遇到过Text DiffPEAR 库 但该库仅创建 Diff 本身 或者更确切地说 它只需
  • Laravel 异常队列最大尝试次数超出

    我创建了一个应用程序来向多个用户发送电子邮件 但在处理大量收件人时遇到问题 该错误出现在failed jobs table Illuminate Queue MaxAttemptsExceededException App Jobs ESe
  • OpenSSL 真的需要 openssl.conf 的路径吗?

    我想在 PHP 5 x 中创建自签名证书 使用我自己的 替代 openssl 配置 该配置应该由我的 PHP 代码定义 PHP 脚本将在不同的环境 共享托管网络服务器 上运行 官方PHP手册 http php net manual en f
  • Laravel-5 如何使用 id 值和名称值从数据库填充选择框

    我想创建一个如下所示的选择框照亮 html https github com illuminate html
  • PHP_CodeSniffer规则文档[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到有关的文档PHP CodeSniffer http pear php net packa
  • PHP - 从动态添加的 html 表格行获取输入

    我在这里设置了以下小提琴Fiddle https jsfiddle net fqugd7vL 7 如您所见 我可以通过单击 添加行 按钮来添加输入 添加的所有输入都有唯一的 ID 和名称 问题是 我不能只做类似的事情 actionInput
  • 如何在自动完成表单的脚本中获取 json 文件的多个值

    拜托 我是 php 初学者 我想使用像这样的 json 编码的数组 http stegonia fr autocomplete index2 php http stegonia fr autocomplete index2 php 您可以看
  • 不能简单地使用 PostgreSQL 表名(“关系不存在”)

    我正在尝试运行以下 PHP 脚本来执行简单的数据库查询 db host localhost db name showfinder username user password password dbconn pg connect host
  • Zoopla 沙箱出现 cURL http 标头错误

    我正在为房地产经纪人开发代码 以通过他们的数据源将房产上传到 Zoopla 我在将所需的配置文件添加到所需的 http 标头时遇到问题 文档中唯一的示例是来自 Linux 的测试 echo branch reference test cur
  • 如何使用 Codeigniter 从另一个视图中加载视图文件,而无需通过控制器?

    我正在努力寻找此问题的解决方案 我需要从另一个视图中加载视图 我知道 通常我只需要这样做 但这一次 文件路径被传递到数据文件标记的属性 我有 a href 实际上 这是由 JavaScript 函数用来自行加载视图的 因此 当这样做时 它会
  • WooCommerce 从前端(而不是管理员)隐藏订单项元

    我有一些我不希望客户看到的订单项元详细信息 在帐户信息下的查看订单页面上 我找到了一个过滤器 可以从管理员 我仍然希望看到它 中删除这些数据 但找不到类似的过滤器来从前端 应该隐藏它 中删除它 这是将从后端管理中删除它的代码 对我来说毫无用
  • PDO获取最后插入的ID

    我有一个查询 我想获取插入的最后一个 ID 字段ID是主键并且自动递增 我知道我必须使用这个声明 LAST INSERT ID 该语句适用于如下查询 query INSERT INTO cell place ID VALUES LAST I
  • PHP Web 应用程序 (Magento) 遭到黑客攻击;这段黑客代码有什么作用?

    我刚刚安装的 Magento 1 3 2 4 被黑了 你能告诉我这段代码的目的是什么吗 另外 如何阻止这种情况以及如何发现漏洞 谢谢 function net match network ip ip arr explode network
  • Twitter API 响应并不总是按预期返回实体媒体

    考虑使用以下命令检索 Twitter 用户的收藏夹列表 abraham twitteroauth PHP 库 https github com abraham twitteroauth https api twitter com 1 1 f
  • PHP 会话未保存

    我把这句话写在我网站每一页的第一行 include restd php 和restd php包含以下几行 session start if isset SESSION id else header location index php 我面
  • 按正确的顺序在字符串数组中查找常见字符

    我花了几天时间研究一个函数 以正确的顺序获取字符串数组中的常见字符 以创建通配符 这是一个解释我的问题的例子 我做了大约3个函数 但是当每个字母的绝对位置不同时 我总是遇到一个错误 我们假设 是 通配符 Array 0 gt 48ca135
  • laravel 模型保存后、保存前等回调

    Laravel 中是否有回调 例如 afterSave beforeSave etc 我进行了搜索 但一无所获 如果没有这样的事情 实施它的最佳方法是什么 Thanks 实现保存前后回调以扩展的最佳方法save 功能 这是一个简单的例子 c
  • 将 #RRGGBB 十六进制值转换为 #AARRGGBB

    414141 与 AARRGGBB 的值是什么 52b531 又如何 我如何使用 PHP 转换它 Regards 奔腾10 AA 是 Alpha 通道 直接转换是将 AA 设置为 FF 以使其完全不透明 414141 becomes FF4

随机推荐

  • 算法题 十 之 无向连接图的深度拷贝

    题目 无向连接图的深度拷贝 图的表示方式 用数组表示与当前节点连接的节点 如下面的代码 class Node public int val public List
  • mac下安装brew遇到的问题总结

    网上的例子大多数给的下载地址已经过期了 github上的地址也已经变了 执行的ruby命令需要去http brew sh 官网上看 usr bin ruby e curl fsSL https raw githubusercontent c
  • Openssl 签名证书学习笔记

    环境 win10 64位 安装版的OpenSSL Win64 openssl 1 1 0f x509证书 环境变量配置openssl 的path 操作在命令窗口完成 第一类 自签名证书 自签名证书 比一般过程 1 生成密钥 2 生成请求 3
  • Unity RawImage加载Image到底在什么时候用哪一种方法

    先看看 RawImage加载Image的区别 RawImage核心代码比Image少很多 Raw Image不支持交互 可用于显示任何图片而不仅仅是Sprite 一般用在背景 图标上 支持UV Rect 用来设置只显示图片的某一部分 而Im
  • 亚马逊云科技:你要的并不是ChatGPT,而是强大和经济的算力

    2022年12月 AI创业公司OpenAI推出了聊天机器人ChatGPT 作为生成式AI在文本领域的实际应用之一 ChatGPT的问世距今不过百天而已 却已经火爆了全球 一时间 大量的企业投入到生成式AI领域 大有 任彼桑田变沧海 一丸丹药
  • 用STM32F030F4的SPI总线获取BMP280的气压和温度

    1 用STM32Cube MX生成SPI总线的初始化函数 static void BMP280 SPI Init void LL SPI InitTypeDef SPI InitStruct 0 LL GPIO InitTypeDef GP
  • 洛谷 P1914 小书童——凯撒密码

    题目链接 https www luogu com cn problem P1914 include
  • 全局变量和局部变量在堆和栈的区别

    全局变量和局部变量在堆和栈的区别主要体现在它们的存储位置和生命周期上 存储位置 全局变量存储在静态存储区 也就是程序的全局数据区或者称为全局内存 这个区域在程序运行期间一直存在 并且在整个程序中都可以被访问到 局部变量存储在栈 stack
  • asp and javascript: sql server export data to csv and to xls

  • SnailApp---数据流的控制(一)

    SnailApp 数据流的控制 一 一 简介 搭建Flux框架及其辅助框架 二 技术应用 1 Flux 插件安装 npm install flux save homepage https github com facebook flux 作
  • android中服务的生命周期示例

    如何在android中建立一个服务 使用androidstudio新建一个继承自Service的MyService类 并在Android manifest xml文件中注册 在MyService类中需要实现onBind这个类 但是启动一个服
  • 如何更改vue项目窗口的标题title和图标icon

    Vue CLI创建的项目窗口的标题默认是打包后的项目名称 默认图标是Vue的图标favicon ico 解决方法 修改图标 直接将新图标导入public文件夹 然后将favicon ico替换为新图标的名字即可 此处可以不用ico文件 但是
  • 重排序架构行人重识别代码复现

    参考教程 https blog csdn net Layumi1993 article details 84849506 https zhuanlan zhihu com p 50387521 一 需要安装的软件包 1 Python 3 6
  • 看门狗电路 通俗理解

    视频讲解 李想STM32初级教程 哔哩哔哩 bilibili 看门狗通俗理解 转自 STC89C5X单片机 看门狗 原理详解 电子工程世界 很多人初次接触不太理解怎么用 书上也讲的含含糊糊 故意说的很复杂很玄妙 可能是现在写书人的通病 生怕
  • MindManager2022Mac版本支持导入XMind、FreeMind文件格式

    Mindjet MindManager 2022 Win macOS版 思维导图软件 由coco玛吉多整理 MindManager 是一个强大的思维导图软件 它可以让你定制 发现隐藏的潜力 与人合并信息 释放生产力 更快地完成好工作 它作为
  • Spring的控制反转与依赖注入

    学习过Spring的都知道Spring有三大核心的概念 分别是控制反转 IOC 依赖注入 DI 和面向切面编程 AOP 今天就来聊聊我对控制反转和依赖注入的了解 至于面向切面编程放到后面讲解 一 控制反转 Ioc 控制反转 Inversio
  • 分别用Eigen和C++(OpenCV)实现图像(矩阵)转置

    1 标量 scalar 一个标量就是一个单独的数 2 向量 vector 一个向量是一列数 这些数是有序排列的 通过次序中的索引 可以确定每个单独的数 3 矩阵 matrix 矩阵是一个二维数组 其中的每一个元素被两个索引而非一个所确定 4
  • statmodels库分解时间序列(趋势、周期性、季节性、残差)

    import pandas as pd import matplotlib pyplot as plt from statsmodels tsa seasonal import STL df pd read csv time series
  • em算法长文

    https blog csdn net u010834867 article details 90762296 em算法长文 mark
  • 如何在VSCode配置PHP开发环境(详细版)

    这篇博文是当初笔者上课需要配置XAMPP 整理出来配置方法 错漏之处没有认真核对 给造成麻烦的同学道个歉 以下有两场修正之处 第一处 XAMPP国内下载地址改成了XAMPP中文网最新版本下载链接 给之前误下p2p的同学再次道个歉 第二处 下