使用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>";
?>
相关推荐
Scott9999HH1 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社2 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海3 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖3 小时前
JDK 26 新特性详解
java·开发语言
马优晨4 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区6 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大6 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai7 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜7 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa7 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio