在 VSCode 中配置 PHP 开发环境_vscode php_soul g的博客-程序员秘密

技术标签: vscode  php  应用软件  

在 VSCode 中配置 PHP 开发环境

1 PHP

官网地址:PHP

界面:

在这里插入图片描述

2 下载

官网下载地址:Download PHP

在这里插入图片描述

3 安装

① 按照下图下载 php。

在这里插入图片描述
② 解压到想要安装 php 的位置(注意先双击打开压缩包,看下有没有根目录)。
如下图,打开后如果没有根目录,不要直接解压,不然文件就混在一起了。

在这里插入图片描述

这里建议新建一个根目录再解压(或者直接右键选择“解压到xxx”),如下图所示。

在这里插入图片描述

4 配置环境变量

① 右击我的电脑 -> 属性 -> 高级系统设置 -> 环境变量 或者 直接 win + s 搜索“系统环境变量” -> 打开“编辑系统环境变量”,如下图所示。

在这里插入图片描述
② 打开 php 安装目录,按下图复制地址。

在这里插入图片描述
③ 修改“系统变量”中的 path,添加第 ② 步所复制的路径。

在这里插入图片描述

注意:系统变量配置完别忘记点击确定。

④ 测试:在 cmd 中输入

php -v

在这里插入图片描述

5 Xdebug 下载

Xdebug 要下载与 php 对应的版本,我们下载的 php 版本为 8.1.11,而且是 thread safe 版本,对应的是带 TS 的版本。

下载地址:Xdebug: Downloads

在这里插入图片描述

把下载的 php_xdebug-3.2.0RC1-8.1-vs16-x86_64.dll 文件,复制到 php 根目录下的 ext 目录中,然后在 php 根目录下找到 php.ini 文件,有如下两种情况。
① (有 php.ini 文件)直接在 php 目录的 php.ini 的文件末尾添加如下配置即可(记得修改路径)。

[xdebug]
zend_extension="D:\software\php-8.1.11-Win32-vs16-x64\ext\php_xdebug-3.2.0RC1-8.1-vs16-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

② (没有 php.ini 文件)这里我们可以在 php 根目录下找到 php.ini-development (开发环境用)与 php.ini-production(生产环境用)两个文件。这里虽然没有 php.ini 文件,而 php 还是会去加载 php.ini 作为配置文件的。我们只要选择其中一个,把它备份,然后重命名为php.ini,最后加入自己个性化的配置即可。这里建议将 php.ini-development 文件备份重命名为 php.ini 就行,如下图所示:

在这里插入图片描述
最后将如下配置添加到 php.ini 文件末尾即可。

[xdebug]
zend_extension="D:\software\php-8.1.11-Win32-vs16-x64\ext\php_xdebug-3.2.0RC1-8.1-vs16-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

6 在 VSCode 中配置 PHP

① 首先安装 PHP Debug 插件,如下图所示:

image-20220415200119252

② 接着点击 文件 -> 首选项 -> 设置,输入 php,并点击“在 settings.json 中编辑”,如下图所示:

image-20220415200712331

③ 然后添加如下配置(记得修改路径):

"php.validate.executablePath": "D:/software/php-8.1.11-Win32-vs16-x64/php.exe"

④ 随便创建个测试文件夹,用 vscode 打开,新建个 php 文件,如下图所示:

在这里插入图片描述
⑤ 设置断点调试,如下图所示:

在这里插入图片描述

⑥ 安装插件 PHP Server

image-20220415204256464

这个插件可以让 .php 文件直接右击运行于浏览器中,不需要借助于 xampp 的 Apache。

在这里插入图片描述

注意:该插件用于个人测试及小网站的开发是没有任何问题的,不过大型应用还是要配合 Nginx 或 Apache 以达到最高效率。

⑦ 补充:修改 PHP Server 默认端口号

在这里插入图片描述

PHP Server 默认端口号为 3000,这是可以修改的。

在这里插入图片描述
在这里插入图片描述

修改完毕重启服务!

在这里插入图片描述

注意:这里我们在浏览器中输入的是 http://localhost:80/index.php,然而在浏览器地址中为什么显示的却是 localhost/index.php 呢?这是因为浏览网页服务默认的端口号HTTP是80,HTTPS是443,如果设置端口号一致会自动省略。另外如果 .php 文件为 index 命名,则只需要在浏览器输入 localhost 即可,因为服务器会默认访问index.php 这个页面。

image-20220415204006836

最后推荐一些 PHP 的插件,以及其他常用VSCode 必备插件推荐

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Y2ANGAO/article/details/124211658

智能推荐

spring在ssh框架中到底起到什么作用_xh16319的博客-程序员秘密

在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语句。Struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以SSH框架的流程大致是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate(左到右)   stru

Qt 学习笔记 - 参考博客_xjcwzp的博客-程序员秘密

一去丶二三里:https://blog.csdn.net/liang19890820/article/category/1447841

MFC使用TRACKMOUSEEVENT触发mouseHover和mouseLeave_trackckmoseeven_wumingqilin的博客-程序员秘密

http://www.cnblogs.com/greatverve/archive/2013/02/06/TRACKMOUSEEVENT.html为对话框添加WM_MOUSEHOVER或WM_MOUSELEAVE消息并不会响应。MFC需要特殊处理,其中一法就是使用TRACKMOUSEEVENTvoid CmfcDlgDlg::OnMouseMove(UINT nFlag

loadrunner性能测试结果分析总结_loadrunner测试的总结_KerryMo的博客-程序员秘密

使用LoadRunner Analysis进行分析的第一步是看测试结果的综合报告,当发现事务运行不正常时,才需要进行更深入的分析。    1、用户事务分析。  “用户事务”主要针对业务而言,一个“用户事务”通常由一个或一系列的用户操作组成。Action是用户的一系列操作的组合;Transaction是用户的某一具体的动作。与用户事务相关的图表有以下8个  (1)事务综述图 (Trans

用Transformer完全替代CNN?_视学算法的博客-程序员秘密

作者丨小小理工男@知乎来源丨https://zhuanlan.zhihu.com/p/266311690编辑丨极市平台这里将介绍一篇我认为是比较新颖的一篇文章 ——《An Image I...

解决Mac book pro播放网页flash视频以及下载app视频软件造成发烫_fanghuaiming的博客-程序员秘密

17款15.4 touch bar 16g 520g电脑玩使命召唤发烫都没有看视频发烫严重,尤其是touch bar前面那一块先按住option 查看屏幕工具栏的电池保证电池正常重制电源控制程序1.将 Mac 关机。2.在内建键盘上,按下键盘左侧的 Shift-Control-Option 键,然后同时按下电源按钮。按住这些按键和电源按钮 10 秒钟。3.如果您有一...

随便推点

ElasticSearch-7.8.0 源码编译调试 (详细)_水的精神的博客-程序员秘密

原文链接:ElasticSearch-7.8.0 源码编译调试 (详细) - 知乎ElasticSearch-7.8.0 源码编译调试 (详细)Rejjie一、准备工作1. 编译工具-Gradle(本文使用:gradle-6.5-all.zip)1) 官网下载链接:https://services.gradle.org/distributions/2) 有时候官网龟速,这里提供云盘(链接:https://pan.baidu.com/s/1dVOPpxDh3JWjazr.

cx_oracle模块执行sql报错 UnicodeEncodeError: 'ascii'_SmartManWind的博客-程序员秘密

代码编码为utf-8,print编码为utf-8,数据插入数据库报错   解决方法:import osos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

vlan与三层交换机_青春不愿虚度的博客-程序员秘密

VLAN 的背景: s 随着网络规模的不断扩大,介入的主机和设备雨来越多,网络的广播流量也随之加大。 这样就会加重交换机的负担,甚至可能导致交换机死机。什么是 VLAN: vlan 就是虚拟局域网技术,可以从逻辑上将一个大的网络划分成若干个小的虚拟局域网, 从而控制广播流量。VLAN 的优势: vlan 的产生给局域网的设计增加了灵活性,使得网络管理员在划分工作时,不受限于用户 所处的物理位置...

基本数据类型的成员变量放在jvm得哪块内存区域里?_cool__007的博客-程序员秘密

java虚拟机栈是线程私有的,生命周期跟线程相同,每个方法调用的时候都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。每个方法调用的过程,就代表了一个栈帧在虚拟机栈中入栈到出栈的过程,当进入一个方法时,这个方法在栈中需要分配多大的内存都是完全确定的,方法运行时不会改变局部变量表的大小——《深入理解java虚拟机第二版》          很多java程序员一开始就被网

这里没有key_这里没有key ctf_Gunther17的博客-程序员秘密

http://www.shiyanbar.com/ctf/7这里没有key:你说没有就没有啊,俺为啥要听你的啊解题链接: http://ctf5.shiyanbar.com:8080/4/index.html解析:这里就直接打开链接,右击一下查看网页源代码:大家好  alert("这

30道最新Linux内核大厂面试题(含答案)_linux大本营的博客-程序员秘密

1. Linux 中主要有哪几种内核锁?Linux 的同步机制从 2.0 到 2.6 以来不断发展完善。从最初的原子操作,到后来 的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux 从单处 理器到对称多处理器的过渡;伴随着从非抢占内核到抢占内核的过度。Linux 的 锁机制越来越有效,也越来越复杂。 自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争 用已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待 锁重新可用。要是锁未被争用,请求它的执行线.

推荐文章

热门文章

相关标签