使用FlyEnv启动PHP项目

文章目录


前言

FlyEnv 是一款一体化、跨平台的全栈本地开发环境管理工具,专为开发者设计,旨在简化多语言、多服务开发环境的配置与管理。

核心特点

  1. 原生速度,轻量高效:与 Docker 等容器化方案不同,FlyEnv 直接在你的机器上安装和运行官方静态二进制文件(如 PHP、Node.js、MySQL),无需虚拟化开销。其内存占用仅为典型 Docker 方案的 1/3,启动速度达到毫秒级。

  2. 项目级自动版本切换 :通过项目根目录的 .flyenv 配置文件,FlyEnv 可以自动为每个项目切换对应的 Node.js、PHP、Python 等运行时版本,彻底告别全局版本冲突。

  3. 一体化界面,模块化按需使用:它提供了一个统一的界面来管理 Web 服务器、数据库、编程语言、缓存队列等多种服务。你只需安装实际需要的模块,保持环境轻量。

  4. 开箱即用的开发者工具:

    • 本地域名与自动 SSL :内置 DNS 服务器,可为项目分配自定义域名(如 myapp.test),并自动生成受信任的 SSL 证书,支持 HTTPS 开发。
    • 快速启动数据库:几秒钟内即可启动 MySQL、PostgreSQL、Redis 等数据库实例。
    • 集成邮件测试:内置 Mailpit 等工具,方便在本地测试邮件工作流。

支持的技术栈

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 的

  1. 打开「服务」管理(Win+R,输入 services.msc )如图
  2. 找到 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 扩展。


步骤:

  1. 在 FlyEnv 左侧菜单,找到 PHP

  2. 点击 PHP 右侧的设置/配置按钮(通常是齿轮图标)

  3. 在扩展列表中,找到并勾选:

    • ✅ pdo
    • ✅ pdo_mysql
    • ✅ mysqli(可选,但推荐)
    • ✅ redis(项目需要)
  4. 保存配置,重启 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>";
?>
相关推荐
思茂信息15 小时前
CST软件BCI仿真模型及仿真案例
开发语言·单片机·嵌入式硬件·算法·emc
阿里嘎多学长15 小时前
2026-09-28 GitHub 热点项目精选
开发语言·程序员·github·代码托管
程序猿编码16 小时前
C++/CUDA 手写 LLM 推理引擎:拆解 vLLM 核心 PagedAttention 与连续批处理
开发语言·c++·深度学习·神经网络·推理·vllm
hold?fish:palm16 小时前
44 二叉搜索树中第K小的元素
开发语言·c++·算法
凉茶钱16 小时前
【吃透C++】万字解析类和对象
开发语言·c++
白杨尚青16 小时前
C++入门篇(十):string(上)——认识string:构造与三大遍历(一条龙讲透operator[]、迭代器、auto、范围for)
java·开发语言·c++·笔记·stl
可乐鸡翅yeah_16 小时前
hls.js 切换多个视频源,新手开发常见踩坑
开发语言·前端·javascript·ios·ffmpeg·音视频·safari
Tanshu_API君16 小时前
API 聚合平台选型指南:从参数拆解到生产落地的十个评估维度
开发语言·api
Chen—LSN16 小时前
C语言——⽂件操作(1)
c语言·开发语言·c++·经验分享·笔记·算法·链表
狗凯之家源码网17 小时前
PHP 开源 IM 即时通讯系统效果实测与功能展示
开发语言·开源·php