文章目录
- 前言
-
- [🔧 解决方法:在 FlyEnv 中启用 pdo_mysql 扩展](#🔧 解决方法:在 FlyEnv 中启用 pdo_mysql 扩展)
-
- 步骤:
- [或者在 FlyEnv 的 PHP 版本设置中](#或者在 FlyEnv 的 PHP 版本设置中)
- 蓝色的√才是加载了。。。。。。
- [测试php是否启动 redis扩展](#测试php是否启动 redis扩展)
前言
FlyEnv 是一款一体化、跨平台的全栈本地开发环境管理工具,专为开发者设计,旨在简化多语言、多服务开发环境的配置与管理。
核心特点
-
原生速度,轻量高效:与 Docker 等容器化方案不同,FlyEnv 直接在你的机器上安装和运行官方静态二进制文件(如 PHP、Node.js、MySQL),无需虚拟化开销。其内存占用仅为典型 Docker 方案的 1/3,启动速度达到毫秒级。
-
项目级自动版本切换 :通过项目根目录的
.flyenv配置文件,FlyEnv 可以自动为每个项目切换对应的 Node.js、PHP、Python 等运行时版本,彻底告别全局版本冲突。 -
一体化界面,模块化按需使用:它提供了一个统一的界面来管理 Web 服务器、数据库、编程语言、缓存队列等多种服务。你只需安装实际需要的模块,保持环境轻量。
-
开箱即用的开发者工具:
- 本地域名与自动 SSL :内置 DNS 服务器,可为项目分配自定义域名(如
myapp.test),并自动生成受信任的 SSL 证书,支持 HTTPS 开发。 - 快速启动数据库:几秒钟内即可启动 MySQL、PostgreSQL、Redis 等数据库实例。
- 集成邮件测试:内置 Mailpit 等工具,方便在本地测试邮件工作流。
- 本地域名与自动 SSL :内置 DNS 服务器,可为项目分配自定义域名(如
支持的技术栈
FlyEnv 原生支持广泛的主流开发技术,包括:
- 编程语言:PHP、Node.js、Python、Go、Java、Ruby、Rust 等。
- Web 服务器:Nginx、Apache、Caddy、Tomcat。
- 数据库:MySQL、MariaDB、PostgreSQL、MongoDB、SQLite。
- 缓存与队列:Redis、Memcached、RabbitMQ。
- 搜索服务:Elasticsearch、Meilisearch。
- AI 助手:集成 Ollama、DeepSeek 等工具以提升开发效率。
总结
FlyEnv 定位为 NVM + XAMPP + Docker Desktop 的完美替代品 ,它通过原生技术栈和智能的项目隔离,为全栈开发者提供了一个配置简单、启动迅速、资源占用低 的一站式本地开发环境,让开发者能更专注于业务代码本身。

停止旧的 MySQL,用 FlyEnv 的
- 打开「服务」管理(Win+R,输入 services.msc )如图
- 找到 MySQL 服务,停止并禁用它

/admin/login/login.html

看到了!could not find driver - 这是 PHP 缺少 pdo_mysql 扩展 的问题!
toolName: todo_write
status: success
Todos updated: 1 items
🔧 解决方法:在 FlyEnv 中启用 pdo_mysql 扩展
错误 could not find driver 是因为 PHP 没有启用 pdo_mysql 扩展。
步骤:
-
在 FlyEnv 左侧菜单,找到 PHP
-
点击 PHP 右侧的设置/配置按钮(通常是齿轮图标)
-
在扩展列表中,找到并勾选:
- ✅
pdo - ✅
pdo_mysql - ✅
mysqli(可选,但推荐) - ✅
redis(项目需要)
- ✅
-
保存配置,重启 PHP 服务
或者在 FlyEnv 的 PHP 版本设置中
有些 FlyEnv 版本在 "Version" 标签页选择 PHP 版本时,也可以勾选需要的扩展。

蓝色的√才是加载了。。。。。。

测试php是否启动 redis扩展
php
<?php
header('Content-Type: text/html; charset=utf-8');
echo "<h1>Redis 连接测试</h1>";
echo "<h3>1. 检查 Redis 扩展...</h3>";
if (!extension_loaded('redis')) {
die("<p style='color:red'>❌ Redis 扩展未启用!</p>");
}
echo "<p style='color:green'>✅ Redis 扩展已启用</p>";
echo "<h3>2. 尝试连接 Redis...</h3>";
try {
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "<p style='color:green'>✅ Redis 连接成功!</p>";
echo "<h3>3. 测试 Redis 读写...</h3>";
$redis->set('test_key', 'Hello Redis!');
$value = $redis->get('test_key');
echo "<p style='color:green'>✅ 写入成功: test_key = '{$value}'</p>";
$redis->del('test_key');
echo "<p style='color:green'>✅ 清理测试数据完成</p>";
echo "<h3>4. Redis 信息...</h3>";
$info = $redis->info();
echo "<p>Redis 版本: {$info['redis_version']}</p>";
echo "<p>运行时间: {$info['uptime_in_seconds']} 秒</p>";
echo "<p>连接的客户端: {$info['connected_clients']}</p>";
} catch (Exception $e) {
echo "<p style='color:red'>❌ Redis 连接失败: " . $e->getMessage() . "</p>";
}
echo "<hr><p>测试完成!</p>";
?>
