使用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>";
?>
相关推荐
WJ.Polar6 小时前
Java封装、继承、多态
java·开发语言
摇滚侠6 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
weixin_307779137 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
爱读书的小胖7 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
鸽鸽程序猿7 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
Lhappy嘻嘻7 小时前
读懂 JVM:内存模型、类加载机制、分代回收
java·开发语言·jvm
weixin_307779138 小时前
C++代码实现MATLAB中的spectralcluster函数功能
开发语言·c++·算法·matlab
鸽鸽程序猿8 小时前
【项目】【在线判题系统】c端:竞赛报名
c语言·开发语言
Wang's Blog8 小时前
Java 项目实战: 交友项目 - 个人资料管理的需求分析与接口设计
java·开发语言·交友
1024奇点8 小时前
【仓颉语言入门 · 第二篇 第 8 课】
开发语言·数据库·ide·mysql·开源