使用 FlyEnv 进行本地 PHP 开发
PHP 是一种用于构建动态网站和 Web 应用的服务器端脚本语言,既可用于 WordPress 站点,也可用于 Laravel、Symfony 等框架上的应用。FlyEnv 在一个应用中管理本地技术栈中 PHP 相关的一切:多个 PHP 版本、按版本管理的 PHP-FPM、可视化的 php.ini 与扩展管理、项目级运行时、Composer,以及常见 PHP 应用的一键脚手架创建。

PHP 版本管理
通过 PHP → 版本管理器 并行安装多个 PHP 版本,并可随时在它们之间切换。
- 多个安装来源: 所有平台均提供静态构建;此外,macOS 和 Linux 可通过 Homebrew 安装,macOS 还可通过 MacPorts 安装由这些包管理器管理的 PHP。
- 自定义版本: 让 FlyEnv 指向包含自有 PHP 构建的任意目录;它会扫描
php与php-fpm二进制文件,并将它们与受管理版本一起列出。 - CLI 版本切换: 设置终端中
php命令解析到的 PHP 版本。FlyEnv 会在PATH中添加或移除该版本的 bin 目录,并标明当前条目由 FlyEnv 还是其他工具设置。 - 按版本设置别名和备注: 为每个安装设置简短别名和备注,使列表中相似的构建也能清晰区分。


PHP-FPM 服务管理
PHP-FPM 是 FlyEnv 的专用模块,用于通过 Nginx、Apache 或 Caddy 为站点提供服务。
- 按版本管理生命周期: 可单独启动、停止或重启每个 PHP-FPM 版本;也可使用侧边栏开关(系统托盘中同样可用)一次启动或停止所有已安装版本。
- macOS 和 Linux 使用 Socket: 每个版本监听自己的 Unix socket,因此多个 PHP-FPM 版本可同时运行,且每个站点都可路由到不同版本。版本启动时,FlyEnv 会重新生成 Web 服务器集成配置。
- 可编辑
php-fpm.conf: 可按版本打开和编辑 FPM 池配置(macOS 和 Linux),并内置 FPM 日志和慢日志查看器。 - Windows 以 FastCGI 运行: PHP 通过 FastCGI 为 Web 服务器提供服务,且每个版本的 FastCGI 工作进程数(
PHP_FCGI_CHILDREN,1–64)均可调整。


php.ini 配置
每个已安装的 PHP 版本都有自己的 php.ini,可从该版本的操作菜单中编辑。
- 常用设置表单: 无需手动编辑文件,即可开关或调整常被修改的指令——
memory_limit、max_execution_time、upload_max_filesize、post_max_size、max_file_uploads、display_errors、log_errors、error_reporting、short_open_tag、date.timezone、CA 证书包路径等。 - 完整源文件编辑器: 对表单未涵盖的项目可切换到原始文件视图,并可一键还原为默认配置。
disable_functions管理器: 通过包含约 170 个常见条目的可搜索清单禁用危险函数,以加固某个版本;修改会写回php.ini。


扩展管理
从任意 PHP 版本打开 扩展,即可查看已加载内容并安装缺失项。扩展安装指南 提供了完整示例。
- 已加载扩展: 可搜索地列出该版本当前加载的模块。
- Homebrew 和 MacPorts PHP: 浏览该 PHP 版本可用的扩展 formula,在内置终端中安装或卸载它们,并将现成的
extension=xxx.so片段——或完整的 Xdebug 配置模板——直接复制到php.ini。 - Windows: 启用或禁用扩展目录中已有的 DLL,也可一键从在线库下载扩展。
- 快速导航: 直接跳转到
php.ini,或在文件管理器中打开扩展目录。


项目级 PHP 隔离
不同项目通常需要不同的 PHP 版本。在 PHP → 项目 中注册每个项目文件夹,并将其绑定到专属 PHP 二进制文件——也可以继续使用系统版本。
- 按项目设置运行时: 双击项目即可切换其 PHP 版本;选择会保存在项目目录中的
.flyenv文件里,因此从 FlyEnv 启动的终端和编辑器会自动使用正确的 PHP。 - 在工具中打开: 从项目行直接打开已加载项目环境的 Terminal、PowerShell、VSCode、PhpStorm、WebStorm 或 Sublime。
- 按站点设置 PHP 版本: Host 中的每个站点选择自己的 PHP-FPM 版本(或保持为静态站点),站点列表会显示哪个版本为哪个站点提供服务。

Composer 管理
Composer 标签将 Composer 视作 FlyEnv 中其他带版本工具一样进行管理。
- 根据平台从静态构建或 Homebrew 安装并保留多个 Composer 版本。
- 从自定义目录添加自己的 Composer 安装。
- 将特定 Composer 版本与项目及其 PHP 版本绑定,使依赖安装始终使用一致的工具链。

快速创建项目
PHP → 新建项目 可在不离开应用的情况下为常见 PHP 应用创建脚手架。支持的模板包括:WordPress、Laravel、Yii2、ThinkPHP、Symfony、CodeIgniter、CakePHP、Slim、ClassicPress 和 Contao。
- 选择模板,并选择框架版本、PHP 版本和 Composer 版本。
- FlyEnv 会在内置终端中运行 Composer 创建命令,因此你能看到真实输出。
- 项目准备好后,可一键创建匹配的站点——该框架的 Web 服务器重写规则已预先填入。


更多 PHP 工具
- 日志查看器: 可按版本打开 PHP 错误日志、PHP-FPM 日志或 FPM 慢日志,内置搜索和刷新。
- phpMyAdmin: 在 MySQL 或 MariaDB 模块中一步设置 phpMyAdmin——FlyEnv 会下载它,并创建由已安装最高 PHP 版本提供服务的本地站点。
- PHP 混淆器: 工具页面中的实用工具,可使用选定 PHP 版本混淆 PHP 源代码,适合在将代码交付给第三方前使用。
PHP 应用服务器
对于应用服务器风格的 PHP,FlyEnv 提供专用模块,用以补充经典 PHP-FPM 设置:
- FrankenPHP — 内置现代 Web 服务模型的 PHP。
- RoadRunner — PHP 工作进程、Laravel Octane 和文件服务器预设。
- Swoole CLI — 原生 Swoole、Hyperf、EasySwoole、Laravel Octane 以及自定义脚本预设。
PHP 部署指南 说明如何在它们之间选择。面向浏览器的站点请继续阅读本地站点、自定义域名与 HTTPS;框架专用技术栈请参阅 Laravel 和 WordPress 解决方案。
相关指南、解决方案和演示
继续阅读实用指南、解决方案、演示或社区文章。
兼容性说明
FlyEnv 管理本地运行时和进程配置;它不保证每个 PHP 扩展、框架版本或第三方二进制文件在每个操作系统上都可用。请根据已安装的 PHP 构建验证项目要求,并以下载页面和当前发行说明为受支持软件包的依据。