当前位置: 首页 > news >正文

Mac电脑VSCode配置PHP开发环境

1.安装 PHP

首先,打开终端,安装 Homebrew,输入如下命令:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 

安装了 Homebrew 之后,你可以使用下面的命令来安装 PHP:

$ brew install php 

2.安装 VS Code

如果你还没有安装 VS Code,可以访问 VS Code 官方网站 下载并安装。

3.安装 PHP 扩展

在 VS Code 中,点击左侧侧边栏的 Extensions 图标 (或通过视图菜单选择 Extensions),然后在搜索框中输入 "PHP"。你会看到一系列与 PHP 相关的扩展,如 "PHP Intelephense"、"PHP Debug" 等。你可以根据你的需求安装这些扩展。

  • PHP Intelephense 是一个非常流行的 PHP 扩展,提供了代码高亮、智能感知、代码格式化、代码跳转等功能。点击 "Install" 按钮进行安装。

  • PHP Debug 是一个用于 PHP 的调试器扩展,它使用 Xdebug 扩展进行调试。点击 "Install" 按钮进行安装。

4.配置 PHP 执行路径

在 VS Code 中,按 Cmd + , 打开设置,然后搜索 "PHP Executable Path"。在这里,你需要输入 PHP 可执行文件的路径。

在终端中输入 which php,它会返回 PHP 的安装路径。把这个路径复制到 "PHP Executable Path" 设置中。

5.配置 PHP 调试

首先,你需要在你的 PHP 中安装 Xdebug 扩展。在终端中输入如下命令:

$ pecl install xdebug 

安装完成后,你需要在 php.ini 文件中启用 Xdebug。找到你的 php.ini 文件,通常情况,你可以通过在终端中输入 php --ini 来查找。

Loaded Configuration File 行显示了当前加载的 php.ini 文件的路径。请记下该路径,以便后续步骤中使用。

然后,打开这个文件,添加以下行:

[XDebug] 
xdebug.remote_enable = 1 
xdebug.remote_autostart = 1 

保存并关闭文件,然后在终端中输入 php -v 来确认 Xdebug 已经成功安装。

6.创建 PHP 项目

  • 创建新的文件夹作为项目根目录

  • 在VSCode打开根目录

  • 创建并编辑PHP文件(例如:index.php)

  • “设置"中搜索"PHP"找到 "PHP › Validate:Enable" 设置,勾选以启用 PHP 语法验证。

7.创建调试配置

到导航栏“运行”中选择“添加配置”,创建一个名为 .vscode/launch.json 的文件,然后在这个文件中配置调试设置。

或者到左侧选择“Debug”,然后在“运行”下拉菜单中选择“添加配置”。

8.在浏览器中访问index.php

  • 在VS Code中打开你的PHP项目。

  • 确保你的Xdebug已经正确配置并已启动。

  • 在VS Code的调试面板中,选择"Launch Built-in web server"配置并点击运行。

  • VS Code会在终端中打印出一个消息,告诉你服务器正在运行的端口号,消息格式如下:"Development Server (http://localhost:xxxx) started"。其中的xxxx就是你的端口号。

  • 打开浏览器,输入"http://localhost:xxxx/index.php",其中的xxxx替换为你在第4步中看到的端口号。

 

相关文章:

Mac电脑VSCode配置PHP开发环境

1.安装 PHP 首先,打开终端,安装 Homebrew,输入如下命令: $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装了 Homebrew 之后,你可以使用下面的…...

SpirngBoot + Vue 前后端分离开发工具代码

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…...

【数据结构初阶】单链表(附全部码源)

单链表 1,单链表的概念及结构2,单链表的实现2.1初始化内容(所需文件,接口)2.2申请结点2.3打印单链表2.4尾插2.5头插2.6尾删2.7头删2.8查找2.9在pos位置之后插入2.10在pos位置前面插入2.11删除pos之后的值2.12删除pos位…...

数据治理入门

处理模式 模式名称常见场景常见框架批处理夜间几个小时,无人值守hive spark datax流处理7*24H一直运行,无人值守maxwell, flink, flume, kafka即席处理人机交互接口访问 web页面 数据治理的意义 数据质量低:数据错误,不准确或不…...

uniapp 微信小程序登录 新手专用 引入即可

预览 第一步导入插件 在引入的页面的登录按钮下拷贝一下代码 <template><view class"content"><button type"primary" click"login">微信登录</button></view><TC-WXlogin :wxloginwxlogin /> </templ…...

PMCW体制雷达系列文章(4) – PMCW雷达之抗干扰

说明 本文作为PMCW体制雷达系列文章之一&#xff0c;主要聊聊FMCW&PMCW两种体制雷达的干扰问题。事实上不管是通信领域还是雷达领域&#xff0c;对于一切以电磁波作为媒介的信息传递活动&#xff0c;干扰是无处不在的。近年来&#xff0c;随着雷达装车率的提高&#xff0c;…...

Gin框架源码解析

概要 目录 Gin路由详解 Gin框架路由之Radix Tree 一、路由树节点 二、请求方法树 三、路由注册以及匹配 中间件含义 Gin框架中的中间件 主要讲述Gin框架路由和中间件的详细解释。本文章将从Radix树&#xff08;基数树或者压缩前缀树&#xff09;、请求处理、路由方法树…...

MacOS设置JAVA_HOME环境变量

首先先查看一下&#xff0c;系统当前使用的java是谁&#xff0c;可以使用/usr/libexec/java_home命令 % /usr/libexec/java_home /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home检查一下这个路径下的文件&#xff0c;发现这是一个jre的目录。加上-V参数看…...

闭眼检测实现

引言 这段代码是一个实时眼睛状态监测程序&#xff0c;可以用于监测摄像头捕获的人脸图像中的眼睛状态&#xff0c;判断眼睛是否闭合。具体应用实现作用说明如下&#xff1a; 1. 实时监测眼睛状态 通过摄像头捕获的实时视频流&#xff0c;检测人脸关键点并计算眼睛的 EAR&a…...

系列六、Java垃圾回收器主要有哪些?

一、Java垃圾回收器主要有哪些? UseSerialGC、UseParallelGC、UseConcMarkSweepGC、UseParallelNewGC、UseParallelOldGC、UseG1GC...

【7】Spring Boot 3 集成组件:缓存组件 spring cache + spring data redis

目录 【7】Spring Boot 3 集成组件&#xff1a;缓存组件 spring cache spring data redis什么是缓存抽象声明式注解JSR-107对应SpEL上下文数据 引入依赖cache 支持的缓存类型缓存类型配置NONESIMPLEREDIS自定义配置 CAFFEINE Hazelcast...总结 个人主页: 【⭐️个人主页】 需要…...

说说Java中的不可重入锁

什么是锁&#xff1f; 简单来讲在Java中&#xff0c;锁是一种用于并发控制的机制&#xff0c;用于保护共享资源&#xff0c;防止多个线程同时访问或修改数据导致的数据不一致性和线程安全问题。在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;每个对象都有一个相关联的…...

C++学习 --vector

目录 1&#xff0c; 什么是vector 2&#xff0c; 创建vector 2-1&#xff0c; 标准数据类型 2-2&#xff0c; 自定义数据类型 2-3&#xff0c; 其他创建方式 3&#xff0c; 操作vector 3-1&#xff0c; 赋值 3-2&#xff0c; 添加元素 3-2-1&#xff0c; 添加元素(assi…...

Android图片涂鸦,Kotlin(1)

Android图片涂鸦&#xff0c;Kotlin&#xff08;1&#xff09; import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Path import android.graphics.PointF import android.…...

upload-labs(1-17关攻略详解)

upload-labs pass-1 上传一个php文件&#xff0c;发现不行 但是这回显是个前端显示&#xff0c;直接禁用js然后上传 f12禁用 再次上传&#xff0c;成功 右键打开该图像 即为位置&#xff0c;使用蚁剑连接 连接成功 pass-2 源码 $is_upload false; $msg null; if (isse…...

《 机器人基础 》期末试卷(A)

一、填空题&#xff08;30分&#xff0c;每空2分&#xff09; 1. 按照相机的工作方式&#xff0c;机器人常用相机分为1&#xff09;__ 单目摄像头 2&#xff09;__ 双目摄像头 _ 3&#xff09;_深度摄像头_ 三类。 2. 度量地图强调…...

Azure Machine Learning - Azure AI 搜索中的矢量搜索

矢量搜索是一种信息检索方法&#xff0c;它使用内容的数字表示形式来执行搜索方案。 由于内容是数字而不是纯文本&#xff0c;因此搜索引擎会匹配与查询最相似的矢量&#xff0c;而不需要匹配确切的字词。本文简要介绍了 Azure AI 搜索中的矢量支持。 其中还解释了与其他 Azure…...

3 redis实现一个消息中间件

使用list实现一个队列&#xff0c;可以从左侧入队&#xff0c;也可以从右侧入对 即可以从左侧读取&#xff0c;也可以从右侧读取 1、Lindex Lindex 命令用于通过索引获取列表中的元素 也可以使用负数下标&#xff0c;以 -1 表示列表的最后一个元素&#xff0c; -2 表示列表的…...

js添加dom到指定div之后,并给添加的dom类名,然后设置其样式,以及el-popover层级z-index过高问题解决。

遇到一个需求,Vue项目做一个表格,要求表头与表格内容分开,如下效果所示,表头与表格有个高度间隔边距(箭头所示),因为默认我们的el-table的表头与内容是一起的: 思路:通过querySelector获取el-table__header-wrapper元素,通过createElement创建一个div,通过 newElem…...

C语言结构体

#include <stdio.h> #include <string.h> #include <stdlib.h>//struct Student_s { // int num; // char name[20]; // char gender; // int age; // float Chinese; // float Math; // float English; // char addr[30]; //}; //最后的分号一定要写&#x…...

基于仿真数据增强与PINN的TCAD模型参数自动校准方法

1. 项目概述与核心挑战在功率半导体器件的研发流程里&#xff0c;TCAD仿真扮演着“数字实验室”的角色。工程师们通过它&#xff0c;可以在昂贵的流片之前&#xff0c;预测器件的电学特性&#xff0c;优化结构设计。然而&#xff0c;这个“数字实验室”的预测精度&#xff0c;高…...

观察taotoken在流量高峰时段api调用的成功率和响应延迟表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察 Taotoken 在流量高峰时段 API 调用的成功率和响应延迟表现 对于依赖大模型 API 进行开发的团队而言&#xff0c;服务的稳定性…...

IwaraDownloadTool:3种突破性技术实现的专业级Iwara视频批量下载方案

IwaraDownloadTool&#xff1a;3种突破性技术实现的专业级Iwara视频批量下载方案 【免费下载链接】IwaraDownloadTool Iwara 下载工具 | Iwara Downloader 项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool 在数字内容创作日益丰富的今天&#xff0c;Iwa…...

Meteor-Files与AWS S3集成指南:打造可靠的云端文件存储解决方案

Meteor-Files与AWS S3集成指南&#xff1a;打造可靠的云端文件存储解决方案 【免费下载链接】Meteor-Files &#x1f680; Upload files via DDP or HTTP to ☄️ Meteor server FS, AWS, GridFS, DropBox or Google Drive. Fast, secure and robust. 项目地址: https://gitc…...

别再死记硬背了!用UE5动画蓝图状态机做个“开关门”交互,5分钟搞懂运行流

用UE5动画蓝图状态机实现智能门交互&#xff1a;从理论到实战第一次接触虚幻引擎的动画系统时&#xff0c;那些抽象的概念总让人望而生畏。记得我刚开始学习UE4时&#xff0c;光是理解"状态机"这个概念就花了整整一周时间——直到我亲手实现了一个会自动开关的门。这…...

直接去偏机器学习:用Bregman散度统一因果推断与协变量平衡

1. 项目概述与核心动机在因果推断、政策评估乃至更广泛的计量经济学和机器学习应用中&#xff0c;我们常常关心一个“目标参数”&#xff0c;比如平均处理效应&#xff08;ATE&#xff09;——也就是某项干预或政策对结果的平均影响。传统上&#xff0c;一个非常自然的想法是&a…...

XGBoost处理缺失值:构建面向天文大数据的极冷矮星智能发现系统

1. 项目概述&#xff1a;当机器学习遇见“暗弱”的宇宙居民在广袤的宇宙中&#xff0c;除了那些明亮耀眼的主序星和星系&#xff0c;还存在着一个庞大而“低调”的群体——极冷矮星。它们涵盖了光谱型晚于M6的恒星&#xff08;如M型矮星&#xff09;以及质量不足以点燃稳定氢聚…...

序数回归实战:从KNN阈值优化到神经网络模型全解析

1. 项目概述&#xff1a;当回归遇上“有序”世界在机器学习的工具箱里&#xff0c;回归和分类是两大基石。回归预测连续值&#xff0c;比如房价、温度&#xff1b;分类预测离散标签&#xff0c;比如猫、狗、汽车。但现实世界并非总是非黑即白&#xff0c;有一种特殊的数据类型常…...

SQL like 与 正则 区别

SQL 中的 LIKE 和正则表达式&#xff08;REGEXP 或 RLIKE&#xff09;都用于模式匹配&#xff0c;但它们在表达能力、语法复杂度、性能上有显著区别。核心区别一览表对比维度LIKE正则表达式匹配粒度通配符&#xff08;%、_&#xff09;元字符、量词、字符类等表达能力弱&#x…...

XLASSO:高维稀疏建模在极端事件尾部预测中的原理与实践

1. 项目概述&#xff1a;当极端事件遇见高维稀疏性在金融风险管理、气候极端事件预测或是网络流量异常检测中&#xff0c;我们常常面临一个共同的挑战&#xff1a;如何基于有限的历史极端观测数据&#xff0c;对未来可能发生的、更为罕见的“黑天鹅”事件做出可靠预测&#xff…...