VS Code 运行 PHP 文件需本地安装并配置 PHP 到系统 PATH;可通过集成终端(php ./file.php)或自定义 tasks.json 任务执行;PHP Server 类插件用于 Web 服务而非 CLI 脚本执行。
VS Code 本身不内置 PHP 运行环境,所谓“运行单个 PHP 文件”,本质是调用本地已安装的 php 命令行解释器执行脚本。能否成功,取决于系统 PATH 是否包含 PHP 可执行文件,以及你是否在终端或任务中正确触发它。
php 命令可用这是所有后续操作的前提。VS Code 的集成终端(Ctrl+`)本质上是你的系统 Shell,它不会自动识别你电脑上装的 PHP,除非你能从任意终端窗口直接敲 php -v 并看到版本输出。
php -v;若报错 command not found 或 'php' is not recognized,说明 PHP 未加入系统 PATHphp.exe 在 C:\xampp\php 或 C:\wamp64\bin\php\php8.2.12 这类路径下,需手动把该目录加进系统环境变量 PATH
php 已就绪;若用 phpbrew 或 asdf,需确保当前 shell 已加载对应版本(如运行过
phpbrew use php-8.2)这是最轻量、最可控的方式,无需插件、不改配置,适合调试小脚本或 CLI 工具。
.php 文件(比如 test.php)Ctrl+` 唤出集成终端php ./test.php(注意 ./ 表示当前目录,不能省略,否则可能误执行全局同名文件)php ./test.php arg1 arg2
Shift+Cmd+P(macOS)或 Shift+Ctrl+P(Win/Linux),输入 Terminal: Run Active File in Active Terminal 并回车——前提是终端已激活且 PHP 可用tasks.json)一键运行适合频繁运行、带参数或需固定工作目录的场景。VS Code 的任务系统能复用 shell 能力,比插件更稳定。
立即学习“PHP免费学习笔记(深入)”;
.vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Run PHP file",
"type": "shell",
"command": "php",
"args": ["${file}"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
},
"problemMatcher": []
}
]
}
Ctrl+Shift+P → 输入 Tasks: Run Task → 选 Run PHP file 即可执行当前打开的文件${file} 是 VS Code 变量,自动展开为完整绝对路径,避免相对路径歧义"args" 改成:["${file}", "arg1", "arg2"];若参数需用户输入,得配合扩展如 InputBox Tasks,原生不支持交互式参数像 PHP Server、PHP Debug 这些插件,核心目标是启动一个 Web 服务器(类似内置 php -S),用于浏览器访问 http://localhost:8000/index.php。它们不是为 CLI 脚本设计的。
script.php 然后点插件的「Start Server」,它并不会执行这个脚本,而是监听请求——除非你在浏览器里访问它,且脚本里没 exit(),才可能看到输出php -S 快速起服务?终端里直接敲 php -S localhost:8000 更快,无需插件PHP Debug + Xdebug;纯 CLI 脚本,终端或任务就够了最容易被忽略的一点:PHP CLI 和 Web SAPI(如 Apache mod_php 或 FPM)的配置文件(php.ini)通常是分开的。你在终端跑 php -i | grep 'Loaded Configuration File' 查到的 ini 路径,很可能和浏览器里 phpinfo() 显示的不同。调试时输出不一致?先确认你改的是哪个 php.ini。