php-manager-website/README-Phper.md
2025-12-26 17:14:06 +08:00

390 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PHPer 开发环境管理器
<p align="center">
<img src="public/icon.svg" alt="PHPer Logo" width="120" height="120">
</p>
<p align="center">
<strong>一款功能强大的 Windows PHP 开发环境管理工具</strong>
</p>
<p align="center">
轻松管理 PHP、MySQL、Nginx、Redis、Node.js、Python 等服务,告别繁琐的手动配置
</p>
<p align="center">
<a href="#功能特性">功能特性</a>
<a href="#安装使用">安装使用</a>
<a href="#使用指南">使用指南</a>
<a href="#常见问题">常见问题</a>
</p>
---
## 📸 界面预览
<table>
<tr>
<td><img src="docs/dashboard.png" alt="仪表盘" /></td>
<td><img src="docs/php.png" alt="PHP管理" /></td>
</tr>
<tr>
<td align="center">🏠 仪表盘</td>
<td align="center">🐘 PHP 版本管理</td>
</tr>
<tr>
<td><img src="docs/mysql.png" alt="MySQL管理" /></td>
<td><img src="docs/nginx.png" alt="Nginx管理" /></td>
</tr>
<tr>
<td align="center">🐬 MySQL 管理</td>
<td align="center">🌐 Nginx 管理</td>
</tr>
<tr>
<td><img src="docs/redis.png" alt="Redis管理" /></td>
<td><img src="docs/nodejs.png" alt="Node.js管理" /></td>
</tr>
<tr>
<td align="center">🔴 Redis 管理</td>
<td align="center">💚 Node.js 管理</td>
</tr>
<tr>
<td><img src="docs/python.png" alt="Python管理" /></td>
<td><img src="docs/setting.png" alt="设置" /></td>
</tr>
<tr>
<td align="center">🐍 Python 管理</td>
<td align="center">⚙️ 设置</td>
</tr>
</table>
## ✨ 功能特性
### 🐘 PHP 版本管理
| 功能 | 说明 |
| ------------ | ---------------------------------------------------------- |
| 多版本管理 | 支持同时安装 PHP 8.1、8.2、8.3、8.4、8.5 等多个版本 |
| CGI 独立控制 | 每个 PHP 版本可独立启动/停止 CGI 进程,支持多版本并行运行 |
| 端口自动分配 | 各版本自动分配端口(如 8.4→9084, 8.3→9083 |
| 一键切换 | 点击即可切换 PHP 版本,自动配置系统环境变量 |
| 扩展管理 | 可视化管理 PHP 扩展,支持在线安装(从 PECL |
| 配置编辑 | 在线编辑 php.ini无需手动查找配置文件 |
| 自动配置 | 安装时自动启用常用扩展curl、gd、mbstring、pdo_mysql 等) |
| Composer | 集成 Composer 管理,支持镜像源切换(阿里云、腾讯云等) |
| 日志查看 | 直接查看 PHP 错误日志 |
| 下载源 | 从 [windows.php.net](https://windows.php.net) 官方下载 |
### 🐬 MySQL 管理
| 功能 | 说明 |
| ---------- | -------------------------------------------------------------------- |
| 版本支持 | 支持 MySQL 5.7.x 和 8.0.x 系列 |
| 服务控制 | 启动、停止、重启 MySQL 服务 |
| 密码管理 | 一键修改 root 密码 |
| 配置编辑 | 在线编辑 my.ini 配置文件 |
| 自动初始化 | 安装时自动初始化数据库,开箱即用 |
| 下载源 | 从[阿里云镜像站](https://mirrors.aliyun.com/mysql/)下载,速度更快 |
### 🌐 Nginx 管理
| 功能 | 说明 |
| ------------ | --------------------------------------------- |
| 版本管理 | 支持多个 Nginx 版本,可随时切换 |
| 服务控制 | 启动、停止、重启、热重载配置 |
| 站点管理 | 可视化添加、删除、启用、禁用虚拟主机 |
| Laravel 支持 | 自动生成 Laravel 项目的伪静态配置 |
| SSL 证书 | 支持申请 Let's Encrypt 免费 SSL 证书 |
| 配置编辑 | 在线编辑 nginx.conf 主配置文件 |
| 下载源 | 从 [nginx.org](https://nginx.org) 官方下载 |
### 🔴 Redis 管理
| 功能 | 说明 |
| ------------ | -------------------------------------------------------------------------- |
| Windows 版本 | 使用 Windows 原生编译版 Redis |
| 服务控制 | 启动、停止、重启 Redis 服务 |
| 状态监控 | 实时查看运行状态、内存使用情况 |
| 配置编辑 | 在线编辑 redis.windows.conf 配置 |
| 下载源 | 从 [GitHub (redis-windows)](https://github.com/redis-windows/redis-windows) 下载 |
### 💚 Node.js 管理
| 功能 | 说明 |
| ---------- | -------------------------------------------------------- |
| 多版本管理 | 支持同时安装多个 Node.js 版本 |
| LTS 支持 | 显示 LTS 版本和 Current 版本标识 |
| npm 集成 | 自动显示对应的 npm 版本 |
| 一键切换 | 快速切换默认 Node.js 版本,自动配置环境变量 |
| 下载源 | 从 [nodejs.org](https://nodejs.org) 官方下载 |
### 🐍 Python 管理
| 功能 | 说明 |
| ---------- | -------------------------------------------------------- |
| 嵌入式版本 | 使用免安装的嵌入式版本,不影响系统环境 |
| pip 集成 | 自动配置 pip支持安装 Python 包 |
| 多版本管理 | 支持同时安装多个 Python 版本 |
| 一键切换 | 快速切换默认 Python 版本 |
| 下载源 | 从 [python.org](https://www.python.org) 官方下载 |
### 🔧 Git 管理
| 功能 | 说明 |
| ---------- | ------------------------------ |
| 版本管理 | 一键安装/卸载 Git for Windows |
| 配置管理 | 可视化配置用户名、邮箱等信息 |
| 环境变量 | 自动配置系统 PATH |
### 🌍 站点管理
- **快速创建站点** - 填写域名和路径即可创建虚拟主机
- 🎯 **Laravel 一键配置** - 自动配置 public 目录和伪静态规则
- 🔒 **SSL 证书申请** - 集成 Let's Encrypt 自动申请
- 📝 **Hosts 自动配置** - 自动添加域名到系统 hosts 文件
- 📋 **站点日志查看** - 查看每个站点的访问日志和错误日志
- 🌐 **一键打开站点** - 点击域名在默认浏览器打开
### 📋 日志查看
| 功能 | 说明 |
| ------------ | ---------------------------------------------- |
| 多服务日志 | 支持查看 Nginx、PHP、MySQL、Redis 日志 |
| 站点日志 | 查看各站点的访问日志和错误日志 |
| 实时刷新 | 支持刷新日志内容,查看最新记录 |
| 行数控制 | 可配置显示的日志行数100-5000 行) |
| 快速清空 | 一键清空指定日志文件 |
| 打开目录 | 快速在文件管理器中打开日志目录 |
### ⚙️ 其他功能
- 🚀 **开机自启动** - 可配置各服务开机自动启动(静默模式,无弹窗)
- 🔇 **静默启动** - 所有服务启动无黑色窗口闪烁
- 📋 **Hosts 管理** - 可视化管理系统 hosts 文件
- 🌙 **深色/浅色主题** - 支持主题切换
- 📊 **服务状态监控** - 实时显示各服务运行状态
-**页面切换优化** - 使用 KeepAlive 缓存页面,切换无闪烁
- 🔢 **自动版本号** - 打包时自动更新版本号
- 📥 **下载源说明** - 清晰显示各软件的下载来源
- 🌐 **默认浏览器打开** - 站点链接自动在默认浏览器打开
## 🛠️ 技术栈
| 技术 | 说明 |
| --------------------------------------------- | ------------ |
| [Vue 3](https://vuejs.org/) | 前端框架 |
| [TypeScript](https://www.typescriptlang.org/) | 类型安全 |
| [Electron](https://www.electronjs.org/) | 桌面应用框架 |
| [Element Plus](https://element-plus.org/) | UI 组件库 |
| [Vite](https://vitejs.dev/) | 构建工具 |
| [Pinia](https://pinia.vuejs.org/) | 状态管理 |
## 📦 安装使用
### 系统要求
- ✅ Windows 10/11 (64 位)
- ✅ Node.js 18.0 或更高版本
- ✅ 管理员权限(用于管理服务和修改 hosts 文件)
- ✅ [Visual C++ Redistributable 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe)
### 开发环境
```bash
# 克隆项目
git clone https://github.com/your-username/phper.git
cd phper
# 安装依赖
npm install
# 启动开发服务器
npm run electron:dev
```
### 构建生产版本
```bash
# 构建 Windows 安装包(自动更新 patch 版本号 +0.0.1
npm run build
# 指定版本号更新类型
npm run build:patch # 1.0.0 -> 1.0.1
npm run build:minor # 1.0.0 -> 1.1.0
npm run build:major # 1.0.0 -> 2.0.0
# 不更新版本号直接打包
npm run build:nobump
```
构建完成后,安装包将生成在 `release` 目录中。
## 📁 项目结构
```
phper/
├── electron/ # Electron 主进程
│ ├── main.ts # 主进程入口
│ ├── preload.ts # 预加载脚本IPC 通信)
│ └── services/ # 服务管理模块
│ ├── ConfigStore.ts # 配置存储(使用 electron-store
│ ├── PhpManager.ts # PHP 版本管理器
│ ├── MysqlManager.ts # MySQL 服务管理器
│ ├── NginxManager.ts # Nginx 服务管理器
│ ├── RedisManager.ts # Redis 服务管理器
│ ├── NodeManager.ts # Node.js 版本管理器
│ ├── PythonManager.ts # Python 版本管理器
│ ├── GitManager.ts # Git 管理器
│ ├── ServiceManager.ts # 开机自启服务管理器
│ ├── HostsManager.ts # Hosts 文件管理器
│ └── LogManager.ts # 日志管理器
├── src/ # Vue 前端源码
│ ├── App.vue # 根组件(含 KeepAlive 缓存)
│ ├── main.ts # 入口文件
│ ├── vite-env.d.ts # 类型声明
│ ├── router/ # 路由配置
│ │ └── index.ts
│ ├── stores/ # Pinia 状态管理
│ │ └── serviceStore.ts # 服务状态存储
│ ├── components/ # 公共组件
│ │ └── LogViewer.vue # 日志查看器组件
│ ├── styles/ # 样式文件
│ │ └── main.scss # 全局样式(含主题变量)
│ └── views/ # 页面视图
│ ├── Dashboard.vue # 仪表盘
│ ├── PhpManager.vue # PHP 管理
│ ├── MysqlManager.vue # MySQL 管理
│ ├── NginxManager.vue # Nginx 管理
│ ├── RedisManager.vue # Redis 管理
│ ├── NodeManager.vue # Node.js 管理
│ ├── PythonManager.vue # Python 管理
│ ├── GitManager.vue # Git 管理
│ ├── SitesManager.vue # 站点管理
│ ├── HostsManager.vue # Hosts 管理
│ └── Settings.vue # 设置
├── scripts/ # 构建脚本
│ └── bump-version.js # 版本号自动更新脚本
├── public/ # 静态资源
│ ├── icon.svg # 应用图标
│ └── version.json # 版本信息(构建时生成)
├── index.html # HTML 模板
├── package.json # 项目配置
├── vite.config.ts # Vite 配置
├── tsconfig.json # TypeScript 配置
└── README.md # 项目说明
```
## 📖 使用指南
### 首次使用
1. **安装运行时依赖**
- 确保已安装 [Visual C++ Redistributable 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe)
2. **以管理员身份运行**
- 右键点击应用图标,选择"以管理员身份运行"
- 这是管理服务和修改 hosts 文件所必需的
3. **安装服务**
- 首次使用需要安装 PHP、MySQL、Nginx、Redis
- 进入对应管理页面,点击"安装"按钮
### 创建第一个站点
1. 安装并启动 Nginx 和 PHP
2. 进入"站点管理"页面
3. 点击"添加站点"
4. 填写站点信息:
- 站点名称:如 `myproject`
- 域名:如 `myproject.test`
- 根目录:如 `C:\Projects\myproject`Laravel 项目无需指定 public
- 选择 PHP 版本
- 如果是 Laravel 项目,开启"Laravel 项目"选项
5. 点击确认,站点即创建完成
6. 在浏览器访问 http://myproject.test
### 配置开机自启动
1. 进入"设置"页面
2. 在"开机自启动"部分,开启需要自启的服务
3. 应用会在 Windows 启动目录创建启动脚本
## ❓ 常见问题
### Q: 为什么需要管理员权限?
A: 应用需要管理员权限来:
- 启动/停止 Windows 服务
- 修改系统 hosts 文件
- 配置系统环境变量
### Q: PHP 下载很慢怎么办?
A: PHP 从 windows.php.net 官方下载,如果速度较慢:
- 可以手动从官网下载 ZIP 文件
- 解压到 `[安装目录]/php/php-版本号` 目录
- 重新打开应用即可识别
### Q: MySQL 启动失败?
A: 常见原因:
- 3306 端口被占用,检查是否有其他 MySQL 实例
- 防火墙阻止,添加防火墙规则
- 数据目录权限问题,确保目录可写
### Q: 如何卸载服务?
A: 进入对应服务管理页面,先停止服务,然后点击"卸载"按钮。
## 🔗 相关资源
| 软件 | 下载源 |
| ------- | ---------------------------------------------------------------------- |
| PHP | [windows.php.net](https://windows.php.net/download/) - 官方 Windows 版 |
| MySQL | [阿里云镜像](https://mirrors.aliyun.com/mysql/) - 国内高速下载 |
| Nginx | [nginx.org](https://nginx.org/en/download.html) - 官方 Windows 版 |
| Redis | [GitHub redis-windows](https://github.com/redis-windows/redis-windows) |
| Node.js | [nodejs.org](https://nodejs.org/en/download/) - 官方下载 |
| Python | [python.org](https://www.python.org/downloads/windows/) - 嵌入式版本 |
| Git | [git-scm.com](https://git-scm.com/download/win) - 官方 Windows 版 |
## 📄 开源协议
本项目基于 [MIT License](LICENSE) 开源。
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request
1. Fork 本仓库
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 提交 Pull Request
## 📮 反馈建议
如果您在使用过程中遇到问题或有任何建议,欢迎:
- 提交 [Issue](https://github.com/your-username/phper/issues)
- 发送邮件至 your-email@example.com
---
<p align="center">
Made with ❤️ for PHP Developers
</p>
<p align="center">
⭐ 如果这个项目对您有帮助,请给我们一个 Star
</p>