使用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>";
?>
相关推荐
kruptos26 分钟前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
吴声子夜歌37 分钟前
ApacheCommons——commons-cli(命令行参数解析)
java·开发语言·apache
benchmark_cc2 小时前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
王的宝库2 小时前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
Tairitsu_H2 小时前
[C++] 深入理解红黑树:封装set与map
开发语言·c++·set·map·红黑树·模拟实现
泡海椒2 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP2 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
江畔柳前堤3 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
Figo_Cheung3 小时前
Figo基于RNC理论的宇宙演化第七纪元猜想
开发语言·php
泡海椒4 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven