VS Code 本身不内置 PHP 运行环境,需配置本地 PHP CLI + 正确入口文件 + 解决路径/自动加载问题;关键前提是 PHP 已加入系统 PATH 并可通过终端 php -v 验证,再通过集成终端在项目根目录执行 php -S 或 php index.php 启动。

VS Code 本身不内置 PHP 运行环境,所谓“运行多文件 PHP 项目”,本质是配置好本地 PHP CLI 环境 + 合理启动入口(如 index.php)+ 避免路径/自动加载/路由导致的报错。直接点说:不是 VS Code 在“运行项目”,而是你用它调起系统里的 php 命令去执行,关键在路径和上下文。
确认 PHP CLI 已正确安装并可全局调用
这是最常被跳过的一步。很多用户装了 XAMPP/MAMP/WAMP,但没把 php.exe 或 php 加入系统 PATH,导致 VS Code 终端里敲 php -v 报 command not found 或 'php' is not recognized。
- 在终端(非 VS Code 内置终端,先开系统 Terminal / PowerShell / CMD)执行
where php(Windows)或which php(macOS/Linux),确认有输出路径 - 若无输出,手动把 PHP 安装目录(如
C:\xampp\php或/usr/local/bin)加入系统环境变量 PATH - 重启 VS Code,再在集成终端中运行
php -v,看到版本号才算通过
用终端手动执行入口文件是最可靠的方式
VS Code 没有“运行整个 PHP 项目”的按钮。所谓“整合运行”,就是你在项目根目录下,用终端执行某个 PHP 文件(通常是 index.php 或 public/index.php),并确保当前工作目录(cwd)正确。
- 打开项目根目录(含
composer.json或vendor/的那一层) - 按
Ctrl+`呼出集成终端,它默认以当前文件夹为工作目录 - 执行:
php -S localhost:8000 -t public/
(适用于有public/目录的项目,如 Laravel、Slim) - 或直接运行单个脚本:
php index.php
(适用于简单多文件结构,但注意require路径是否基于当前目录) - 如果报
failed to open stream: No such file,大概率是require/include用了相对路径(如require 'config.php'),而当前工作目录不对
避免用 Code Runner 插件“一键运行”多文件项目
Code Runner 插件默认对 .php 文件执行 php filename.php,但它总以**当前打开文件所在目录为 cwd**,且无法自动识别项目结构。对多文件项目极易出错:
立即学习“PHP免费学习笔记(深入)”;
- 你在
app/Controller/UserController.php按快捷键运行 → 它执行php UserController.php→ 报错找不到../config/database.php - 它不读
composer.json的自动加载配置,也不处理__autoload或spl_autoload_register - 若真要用,必须在项目根目录下打开一个占位
run.php,内容为:,再运行这个文件
需要 Web 服务时,优先用 PHP 内置服务器而非插件
很多插件(如 PHP Server)封装了 php -S,但参数固定、难调试。手动用内置服务器更可控:
- 确保
router.php存在(可选):用于处理重写(如 Laravel 的public/index.php入口) - 典型命令:
php -S localhost:8000 -t public/ router.php
- 如果项目没
public/,直接指定根目录:php -S localhost:8000 router.php
,并在router.php中显式返回index.php或转发逻辑 - 浏览器访问
http://localhost:8000即可,所有请求都经由该路由器分发,$_SERVER['REQUEST_URI']可用
真正卡住人的从来不是“怎么点一下运行”,而是 require 路径算错、autoload 没生效、$_SERVER 变量缺失、或者误以为 VS Code 会自动理解 Composer 结构。盯住终端报错里的文件路径和行号,比找插件更重要。











