首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在浏览器中运行完整的 PHP 开发环境

在浏览器中运行完整的 PHP 开发环境

作者头像
Tinywan
发布2025-10-20 17:18:02
发布2025-10-20 17:18:02
12200
代码可运行
举报
文章被收录于专栏:开源技术小栈开源技术小栈
运行总次数:0
代码可运行

在线体验:https://krakjoe.github.io/em

什么是 PHP em?

PHP em 是一个基于 WebAssembly 的单页 PHP 开发栈,允许开发者直接在浏览器中编写、测试和运行 PHP 代码。它提供了一个完整的开发环境,包括代码编辑器、虚拟文件系统、数据库支持和多版本 PHP 测试功能。em 还支持作为桌面应用运行,提供离线开发能力,适用于 Linux、MacOS 和 Windows 系统。

主要特性

  • 浏览器端 IDE:内置支持语法高亮的代码编辑器,支持 PHP 8.0 至 8.4 及开发版(master),实时执行代码。
  • 虚拟文件系统(VFS):内存中的文件系统模拟,支持项目导入/导出(ZIP 格式)、持久化存储和目录操作。
  • GitHub 集成:直接从 GitHub 仓库或 Gist 加载项目,支持密钥认证以规避 API 限制。
  • 数据库与扩展:支持 SQLite、图像处理(GD、JPEG、PNG)、XML/DOM 操作、压缩(zlib、bz2)等 PHP 扩展。
  • 桌面应用:提供 Electron 构建的桌面版本,支持多种操作系统和架构。

快速入门

在线使用

  1. 访问 em 在线环境(具体链接需从 GitHub 页面获取)。
  2. 从下拉菜单选择 PHP 版本。
  3. 在编辑器中编写 PHP 代码。
  4. 点击“运行代码”或按 Ctrl+Enter 查看即时输出。

桌面应用安装

下载适用于您操作系统的版本(需使用 --no-sandbox 参数启动 Electron 应用):

  • Linux:支持 x64/arm64 的 AppImage 或 ZIP 格式。
  • MacOS:支持 x64/arm64 的 DMG 或 ZIP 格式。
  • Windows:支持 x64 的便携版、安装版或 ZIP 格式。

示例启动命令:

代码语言:javascript
代码运行次数:0
运行
复制
./em.AppImage --no-sandbox  # Linux 示例

示例代码

在 em 的编辑器中运行以下 PHP 代码:

代码语言:javascript
代码运行次数:0
运行
复制
<?php
echo "Hello from PHP in WebAssembly!";

通过 JavaScript API 集成:

代码语言:javascript
代码运行次数:0
运行
复制
const result = Module.invoke('<?php echo "Hello from PHP!"; ?>');
console.log(result); // 输出: "Hello from PHP!"

应用场景

学习与教育

  • 无需配置 XAMPP 或 WAMP,初学者即可快速上手 PHP。
  • 提供安全的沙盒环境,适合实验和教程。
  • 支持多版本 PHP 测试,确保代码兼容性。

原型设计与测试

  • 快速验证 PHP 算法或概念。
  • 在不同 PHP 版本间切换测试,无需修改本地环境。

开发与调试

  • 便携的开发环境,隔离于主系统。
  • 内置虚拟浏览器,测试 Web 应用(如表单、会话和 HTTP 请求)。

高级功能

虚拟浏览器

em 的虚拟浏览器功能允许在模拟环境中运行 PHP Web 应用,无需真实服务器。开发者可以测试表单、会话和 HTTP 请求,调试 Web 应用。

项目管理

  • 文件/文件夹操作:在虚拟文件系统中创建和组织项目。
  • 导入/导出:支持 ZIP 格式或高效的 VFS 镜像(使用压缩的连续缓冲区,优于 ZIP)。
  • GitHub 集成:直接导入 GitHub 仓库或 Gist。

示例:创建 VFS 镜像:

代码语言:javascript
代码运行次数:0
运行
复制
php-em-vfs.js --mode create --in /path/to/my/files --out /tmp/my.vfsi

多版本支持

支持 PHP 8.0 至 8.4 及 master 分支,方便测试代码在不同版本中的行为。

架构与技术

PHP em 基于以下核心技术:

  • WebAssembly:将 PHP C 代码编译为可在浏览器运行的高效代码。
  • Emscripten:将 PHP 编译为 WebAssembly 的工具。
  • 虚拟文件系统:模拟 POSIX 文件操作,支持随机访问和压缩存储。
  • Service Workers:支持虚拟浏览器功能。
  • IndexedDB/FileSystem API:实现持久化存储。

为什么选择 PHP em?

PHP em 消除了传统 PHP 开发中的环境配置障碍,使开发者能够专注于代码本身。其便携性、跨平台支持和强大的功能使其适合:

  • 学生和初学者快速学习 PHP。
  • 开发者进行快速原型设计和跨版本测试。
  • 在线或离线开发 Web 应用。

总结

PHP em 是一个突破性的工具,将 PHP 开发带入浏览器和桌面环境。通过 WebAssembly 和虚拟文件系统,它提供了一个功能齐全、零配置的开发环境。无论是学习、测试还是开发,PHP em 都为 PHP 开发者提供了无与伦比的便利。立即访问 GitHub - krakjoe/em 开始体验!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 PHP em?
  • 主要特性
  • 快速入门
    • 在线使用
    • 桌面应用安装
    • 示例代码
  • 应用场景
    • 学习与教育
    • 原型设计与测试
    • 开发与调试
  • 高级功能
    • 虚拟浏览器
    • 项目管理
    • 多版本支持
  • 架构与技术
  • 为什么选择 PHP em?
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档