VSC怎样在Linux运行PHP_Ubuntu系统配置步骤【操作】
技术百科
蓮花仙者
发布时间:2026-01-01
浏览: 次 VS Code 本身不运行 PHP,真正执行的是系统安装的 php 命令;需确保 Ubuntu 正确安装 php-cli 等扩展、VS Code 安装 PHP Intelephense 或 PHP Server 扩展,并在集成终端中通过 php test.php 运行脚本。
VS Code 本身不运行 PHP,它只是编辑器;真正执行 PHP 脚本的是系统安装的 php 命令。Ubuntu 上能用 VS Code 写 PHP 并顺利运行,关键在三件事:装对版本的 PHP、VS Code 装好必要扩展、终端里能直接调用 php。
确认系统已安装 PHP 并在 PATH 中
很多 Ubuntu 桌面版默认不带 PHP,或者只装了 php-cli(命令行版)但没加进环境变量。先打开终端验证:
php -v
如果报错 Command 'php' not found,说明没装或没配置好 PATH。Ubuntu 22.04+ 推荐用官方仓库安装:
- 运行
sudo apt update && sudo apt install php-cli php-mbstring php-xml php-zip(mbstring和xml是 Laravel、Composer 等常用扩展) - 装完再执行
which php,应输出类似/usr/bin/php;若无输出,检查是否误装了php8.1-cli等带版本号的包,可用sudo apt install php-cli自动选最新稳定版 - 别用 snap 安装的 PHP(路径怪、权限受限),也别手动编译后忘记加
export PATH=/path/to/php:$PATH
VS Code 必装扩展:PHP Intelephense 或 PHP Server
纯编辑器无法跳转函数、提示语法、运行脚本。两个最实用选择:
-
PHP Intelephense(付费功能有限,免费版够日常):提供智能补全、错误检测、Ctrl+Click跳转。装完重启 VS Code,打开一个.php文件,状态栏右下角应显示Intelephense -
PHP Server(轻量免费):右键文件 →PHP Server: Serve project,会在http://127.0.0.1:8080启一个简易 Web 服务,适合调试单文件或小型项目 - 别装过时的
PHP Tools(已停止维护)或只装PHP Debug却不配 Xdebug——没 Web 服务器或调试器,F5运行会失败
在 VS Code 终端里直接运行 PHP 脚本
VS Code 自带集成终端(Ctrl+`),本质就是你系统的 bash/zsh,只要系统 php 可用,这里就能跑:
- 新建文件
test.php,写 - 按
Ctrl+`打开终端,确保当前路径是该文件所在目录(pwd看) - 执行
php test.php—— 输出即表示成功;若报Parse error,检查是否漏了开头或短标签被禁用(Ubuntu 默认禁用,用完整标签) - 不要依赖「Code Runner」插件一键运行:它默认用
php -S启内置服务器,但-S需要 PHP 5.4+ 且不支持路由重写,容易误导初学者以为“PHP 运行不了”
常见卡点:中文路径/文件名、权限、Apache 冲突
不是所有问题都出在 VS Code 或 PHP 配置上:
- 文件路径含中文?Linux 终端对 UTF-8 支持一般没问题,但某些旧 shell 或 VS Code 终端编码设为
ISO-8859-1会导致php: command not found错误——在 VS Code 设置里搜terminal.integrated.env.linux,加"LANG": "en_US.UTF-8" - 执行
php -S报Could not bind to address?说明端口被占(如 Apache 正在跑),改用php -S 127.0.0.1:8001换端口 - 写完代码 Ctrl+S 没反应?检查文件后缀是不是
.php(不是.txt或没后缀),且 VS Code 右下角语言
模式显示为 PHP(点一下切换)
真正卡住的时候,先扔掉 VS Code,回到终端用 php -v 和 php yourfile.php 两步验证底层是否通畅——90% 的“VS Code 运行不了 PHP”其实是 PHP 本身没装好或路径不对。
# 的是
# 就能
# 并在
# 跳转
# 右键
# 系统安装
# 设为
# 装了
# linux
# ubuntu
# http
# 环境变量
# Error
# 编辑器
# xml
# vs code
# php
# php8
# bash
# composer
# laravel
# 装好
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11截图快捷键是什么_Win11自带截图工具
- c# 如何深拷贝和浅拷贝
- Win11怎样安装微信开发者工具_Win11安装开
- Win11怎么关闭小组件_Win11禁用任务栏天气
- Linux如何使用grep搜索文件内容_Linux
- Mac怎么查看活动监视器_理解Mac进程和资源占用
- Windows如何拦截2345弹窗广告_Windo
- 如何在Golang中实现RPC异步返回_Golan
- 如何优化Golang内存分配与GC调度_Golan
- Win10怎样安装Word样式库_Win10安装W
- 如何使用Golang defer优化性能_减少不必
- win11如何清理传递优化文件 Win11为C盘瘦
- 如何在 Django 中修改用户密码后保持会话不丢
- 静态属性修改会影响所有实例吗_php作用域操作符下
- Win11怎么把图标拖到任务栏_Win11固定应用
- Windows10怎么查看硬件信息_Windows
- Win11声音太小怎么办_Windows 11开启
- 网站内页做seo排名怎么做?
- Win10怎么更改用户名 Win10修改账户名称操
- 如何在 Go 项目开发中正确处理本地包导入与远程模
- Python与OpenAI接口集成实战_生成式AI
- php增删改查需要哪些扩展_开启mysqli或pd
- php485返回空数组怎么回事_php485数据接
- Win10怎么限制单程序CPU占用上限_Win10
- php下载安装包怎么选_threadsafe与nt
- Win11怎么关闭任务栏小组件_Windows11
- Windows10电脑怎么设置电源按钮_Win10
- Win11开始菜单打不开_修复Windows 11
- Win11怎么关闭自动更新 Win11永久关闭系统
- Mac电脑进水了怎么办_MacBook进水后紧急处
- 如何使用Golang构建基础消息队列模拟_Gola
- php本地部署支持nodejs吗_php与node
- Windows10系统怎么查看运行时间_Win10
- c# 在高并发下使用反射发射(Reflection
- Win11怎么关闭透明效果_Windows11辅助
- c++ namespace命名空间用法_c++避免
- Win11搜索栏无法输入_解决Win11开始菜单搜
- c++中如何使用std::variant_c++1
- Linux怎么禁止Root用户远程登录_Linux
- PHP中require语句后直接调用返回对象方法的
- 如何高效删除 NumPy 二维数组中所有元素相同的
- c++ stringstream用法详解_c++字
- 如何在同包不同文件中正确引用 Go 结构体
- mac怎么查看wifi密码_MAC查看已连接WiF
- Win10 BitLocker加密教程 Win10
- 如何使用Golang table-driven f
- Win11怎么关闭触摸屏_禁用Win11笔记本触摸
- Win11怎么关闭自动修复_跳过Win11开机自动
- Windows10如何更改日期格式_Win10区域
- 微信JSAPI支付回调PHP怎么接收_处理JSAP

模式显示为
QQ客服