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永久关闭系统
- php本地部署后session无法保存_sessi
- c++怎么操作redis数据库_c++ hired
- Windows 10怎么录屏_Windows 10
- php打包exe如何加密代码_防反编译保护方法【技
- Win11键盘快捷键大全_Windows 11常用
- Win11怎么更改账户头像_Windows 11自
- Win11如何设置文件关联 Win11修改特定文件
- Python脚本参数接收_sys与argparse
- 如何在 Python 测试中动态配置 @backo
- C++中的协变与逆变是什么?C++函数指针与返回类
- Windows10如何更改任务栏高度_Win10解
- Win11怎么更改鼠标指针_Windows 11自
- c++怎么使用std::filesystem遍历文
- PHP怎么接收前端传的时间戳_处理时间戳参数转换技
- Win11怎么修改DNS服务器 Win11设置DN
- Mac电脑进水了怎么办_MacBook进水后紧急处
- c++怎么编写动态链接库dll_c++ __dec
- Win11开机自检怎么关闭_跳过Win11开机磁盘
- Python对象比较与排序_集合使用说明【指导】
- Mac怎么进行语音输入_Mac听写功能设置与使用【
- 如何在 Django 中安全修改用户密码而不使会话
- 本地php环境出现502错误_nginx或apac
- Windows10系统更新错误0x80070002
- Win11怎么更改管理员名字 Win11修改账户名
- Win11如何卸载OneDrive_Win11卸载
- Win11怎么开启远程桌面连接_Windows11
- Win10闹钟铃声怎么自定义 Win10闹钟自定义
- 如何在 ACF 中正确更新嵌套多层的 Group
- Win11如何设置省电模式 Win11开启电池节电
- Win11如何关闭游戏模式 Win11禁用Xbox
- 如何在Golang中使用time处理时间_Gola
- php转mp4怎么保留字幕_php处理带字幕视频转
- windows如何测试网速_windows系统网络
- 如何使用Golang benchmark测量函数延
- 如何使用Golang包导出规则_控制函数和变量可见
- 如何在 Go 同包不同文件中正确引用结构体
- Windows怎样关闭锁屏广告_Windows关闭
- 如何在 Go 中调用动态链接库(.so)中的函数
- php修改数据怎么批量改状态_批量更新status
- Windows10怎么备份注册表_Windows1
- mac怎么退出id_MAC退出iCloud账号与A
- Windows11怎么自定义任务栏_Windows
- php怎么下载安装后无法解析php文件_服务器配置
- php485在macos下怎么配置_php485
- Go 语言标准库为何不提供泛型 Contains
- 如何在Golang中写入JSON文件_保存结构体数
- c++怎么设置线程优先级与cpu亲和性_c++ 多
- GML (Geography Markup Lan
- 如何优化Golang内存分配与GC调度_Golan

模式显示为
QQ客服