From b10780a1be128d4e3c932e7da7ec7cd91dcbe0a8 Mon Sep 17 00:00:00 2001
From: liyongde <1419499670@qq.com>
Date: Mon, 9 Mar 2026 22:59:24 +0800
Subject: [PATCH] ADD DOC
---
PHP项目部署说明.md | 390 ++++++++++++++
Windows服务器PHP部署指南.md | 840 +++++++++++++++++++++++++++++
2 files changed, 1230 insertions(+)
create mode 100644 PHP项目部署说明.md
create mode 100644 Windows服务器PHP部署指南.md
diff --git a/PHP项目部署说明.md b/PHP项目部署说明.md
new file mode 100644
index 0000000..720c25b
--- /dev/null
+++ b/PHP项目部署说明.md
@@ -0,0 +1,390 @@
+# PHP 项目部署说明文档
+
+## 一、PHP 与 Java 部署方式的本质区别
+
+### 1.1 Java 项目(如 Spring Boot)
+
+```
+Java 应用 = 自带 Web 服务器
+┌─────────────────────────┐
+│ your-app.jar │
+│ ┌───────────────────┐ │
+│ │ 业务代码 │ │
+│ ├───────────────────┤ │
+│ │ 内置 Tomcat │ │ ← 自带 Web 服务器
+│ │ (监听 8080 端口) │ │
+│ └───────────────────┘ │
+└─────────────────────────┘
+
+运行方式:
+$ java -jar your-app.jar
+# 应用自己监听端口,直接处理 HTTP 请求
+```
+
+**特点:**
+- JAR 包内置了 Web 服务器(Tomcat/Jetty/Undertow)
+- 独立运行,不需要外部 Web 服务器
+- 直接监听端口(如 8080)
+- 一个命令启动:`java -jar app.jar`
+
+---
+
+### 1.2 PHP 项目(如 ThinkPHP)
+
+```
+PHP 应用 = 需要外部 Web 服务器
+┌──────────────────────────────────┐
+│ Web 服务器 (Nginx/Apache) │
+│ ┌────────────────────────────┐ │
+│ │ 监听 80/443 端口 │ │
+│ │ 处理 HTTP 请求 │ │
+│ │ ↓ │ │
+│ │ 转发给 PHP 解释器 │ │
+│ └────────────────────────────┘ │
+└──────────────────────────────────┘
+ ↓
+┌──────────────────────────────────┐
+│ PHP-FPM (PHP 解释器) │
+│ ┌────────────────────────────┐ │
+│ │ 执行 PHP 代码 │ │
+│ │ 返回结果 │ │
+│ └────────────────────────────┘ │
+└──────────────────────────────────┘
+ ↓
+┌──────────────────────────────────┐
+│ 你的 PHP 代码 (ThinkPHP) │
+│ - index.php │
+│ - 业务逻辑 │
+└──────────────────────────────────┘
+```
+
+**特点:**
+- PHP 代码本身不能直接运行
+- 需要 Web 服务器(Nginx/Apache)接收 HTTP 请求
+- 需要 PHP 解释器(PHP-FPM)执行代码
+- 三层架构:Web 服务器 → PHP 解释器 → 你的代码
+
+---
+
+## 二、为什么 PHP 需要 Nginx/Apache?
+
+### 2.1 PHP 的运行机制
+
+PHP 是**脚本语言**,不是编译型语言:
+
+```php
+// index.php - 这只是文本文件
+
+```
+
+这个文件**不能直接运行**,需要:
+1. **Web 服务器**监听 80 端口,接收 HTTP 请求
+2. **PHP 解释器**读取 .php 文件,执行代码
+3. 返回结果给 Web 服务器
+4. Web 服务器返回给客户端
+
+### 2.2 完整请求流程
+
+```
+用户浏览器
+ ↓ HTTP 请求
+ ↓ http://your-domain.com/api/user/login
+ ↓
+┌─────────────────────────────────────┐
+│ Nginx (监听 80 端口) │
+│ - 接收 HTTP 请求 │
+│ - 处理静态文件 (CSS/JS/图片) │
+│ - 转发 PHP 请求给 PHP-FPM │
+└─────────────────────────────────────┘
+ ↓ FastCGI 协议
+ ↓
+┌─────────────────────────────────────┐
+│ PHP-FPM (监听 9000 端口) │
+│ - 接收 Nginx 转发的请求 │
+│ - 执行 PHP 代码 │
+│ - 连接数据库 │
+│ - 返回执行结果 │
+└─────────────────────────────────────┘
+ ↓ 执行
+ ↓
+┌─────────────────────────────────────┐
+│ 你的 ThinkPHP 项目 │
+│ /back/public/index.php │
+│ /back/application/api/controller/ │
+└─────────────────────────────────────┘
+```
+
+---
+
+## 三、两种部署方案对比
+
+### 3.1 方案一:Apache + mod_php
+
+```
+Apache 服务器
+├── 内置 PHP 模块 (mod_php)
+├── 直接执行 PHP 代码
+└── 配置简单,但性能较低
+```
+
+**优点:**
+- 配置简单,.htaccess 自动生效
+- 适合小型项目、虚拟主机
+
+**缺点:**
+- 性能较低
+- 每个 Apache 进程都加载 PHP 模块(占内存)
+
+**你的项目已有配置:**
+```apache
+# back/public/.htaccess
+
+ Options +FollowSymlinks -Multiviews
+ RewriteEngine On
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
+
+```
+
+---
+
+### 3.2 方案二:Nginx + PHP-FPM(推荐)
+
+```
+Nginx (Web 服务器)
+ ↓ FastCGI
+PHP-FPM (PHP 进程管理器)
+ ↓
+你的 PHP 代码
+```
+
+**优点:**
+- 高性能,适合生产环境
+- Nginx 处理静态文件速度快
+- PHP-FPM 独立管理 PHP 进程
+
+**缺点:**
+- 配置稍复杂
+- 需要单独安装 PHP-FPM
+
+---
+
+## 四、实际部署步骤
+
+### 4.1 使用 Apache(简单方式)
+
+```bash
+# 1. 安装 Apache 和 PHP
+sudo apt install apache2 php libapache2-mod-php php-mysql
+
+# 2. 启用 mod_rewrite
+sudo a2enmod rewrite
+
+# 3. 配置虚拟主机
+sudo nano /etc/apache2/sites-available/your-site.conf
+```
+
+```apache
+
+ ServerName your-domain.com
+ DocumentRoot /var/www/back/public
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+```
+
+```bash
+# 4. 启用站点并重启
+sudo a2ensite your-site.conf
+sudo systemctl restart apache2
+
+# 5. 设置权限
+sudo chown -R www-data:www-data /var/www/back
+sudo chmod -R 755 /var/www/back
+sudo chmod -R 777 /var/www/back/runtime
+```
+
+---
+
+### 4.2 使用 Nginx + PHP-FPM(推荐)
+
+```bash
+# 1. 安装 Nginx 和 PHP-FPM
+sudo apt install nginx php-fpm php-mysql php-mbstring php-curl
+
+# 2. 配置 Nginx
+sudo nano /etc/nginx/sites-available/your-site
+```
+
+```nginx
+server {
+ listen 80;
+ server_name your-domain.com;
+ root /var/www/back/public;
+ index index.php index.html;
+
+ # 访问日志
+ access_log /var/log/nginx/your-site-access.log;
+ error_log /var/log/nginx/your-site-error.log;
+
+ # ThinkPHP 路由重写
+ location / {
+ if (!-e $request_filename) {
+ rewrite ^(.*)$ /index.php?s=$1 last;
+ break;
+ }
+ }
+
+ # PHP 处理
+ location ~ \.php$ {
+ fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据 PHP 版本调整
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include fastcgi_params;
+ }
+
+ # 静态文件缓存
+ location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
+ expires 30d;
+ }
+
+ # 禁止访问隐藏文件
+ location ~ /\. {
+ deny all;
+ }
+}
+```
+
+```bash
+# 3. 启用站点
+sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/
+sudo nginx -t # 测试配置
+sudo systemctl restart nginx
+sudo systemctl restart php7.4-fpm
+
+# 4. 设置权限
+sudo chown -R www-data:www-data /var/www/back
+sudo chmod -R 755 /var/www/back
+sudo chmod -R 777 /var/www/back/runtime
+```
+
+---
+
+## 五、与 Java 部署的对比总结
+
+| 特性 | Java (Spring Boot) | PHP (ThinkPHP) |
+|------|-------------------|----------------|
+| **运行方式** | `java -jar app.jar` | 需要 Web 服务器 + PHP 解释器 |
+| **Web 服务器** | 内置(Tomcat) | 外部(Nginx/Apache) |
+| **进程模型** | 单个 JVM 进程 | 多个 PHP-FPM 进程 |
+| **端口监听** | 应用自己监听 | Web 服务器监听 |
+| **部署复杂度** | 简单(一个 JAR) | 中等(需配置 Web 服务器) |
+| **性能** | 高(JIT 编译) | 中(解释执行) |
+| **内存占用** | 较高(JVM) | 较低 |
+| **适用场景** | 微服务、高并发 | Web 应用、CMS |
+
+---
+
+## 六、常见问题
+
+### Q1: 为什么不能像 Java 一样 `php index.php` 直接运行?
+
+**A:** 可以,但只能在命令行运行,不能处理 HTTP 请求:
+
+```bash
+# 命令行运行(仅用于测试)
+php index.php
+
+# PHP 内置服务器(仅用于开发)
+php -S localhost:8080 -t public/
+```
+
+内置服务器**不适合生产环境**,因为:
+- 单线程,性能差
+- 功能简陋,不支持 .htaccess
+- 不稳定,容易崩溃
+
+### Q2: 能不能让 PHP 像 Java 一样独立运行?
+
+**A:** 可以使用 Swoole/Workerman 等框架:
+
+```php
+// 使用 Workerman(类似 Node.js)
+require_once __DIR__ . '/vendor/autoload.php';
+use Workerman\Worker;
+
+$http_worker = new Worker("http://0.0.0.0:8080");
+$http_worker->onMessage = function($connection, $request) {
+ $connection->send("Hello World");
+};
+
+Worker::runAll();
+```
+
+但你的 ThinkPHP 项目是传统架构,需要 Web 服务器。
+
+### Q3: 我应该选择 Apache 还是 Nginx?
+
+**建议:**
+- **开发/测试环境**:Apache(配置简单)
+- **生产环境**:Nginx + PHP-FPM(性能更好)
+- **虚拟主机**:通常只能用 Apache
+
+---
+
+## 七、快速部署检查清单
+
+```bash
+# ✓ 1. 环境检查
+php -v # PHP >= 5.4
+nginx -v # 或 apache2 -v
+mysql --version # 数据库
+
+# ✓ 2. 安装依赖
+cd /var/www/back
+composer install
+
+# ✓ 3. 配置数据库
+# 修改 application/database.php
+
+# ✓ 4. 导入数据库
+mysql -u root -p < kingcharm.sql
+
+# ✓ 5. 设置权限
+chmod -R 777 runtime/
+
+# ✓ 6. 配置 Web 服务器
+# 见上文 Nginx/Apache 配置
+
+# ✓ 7. 重启服务
+sudo systemctl restart nginx
+sudo systemctl restart php-fpm
+
+# ✓ 8. 测试访问
+curl http://localhost
+```
+
+---
+
+## 八、总结
+
+**核心区别:**
+- **Java**:应用 = Web 服务器 + 业务代码(一体化)
+- **PHP**:应用 = Web 服务器 + PHP 解释器 + 业务代码(分离式)
+
+**为什么这样设计?**
+- PHP 诞生于 Web 时代,设计为与 Web 服务器配合
+- Java 后来发展出内置服务器,简化部署
+- 各有优劣,适用不同场景
+
+你的 ThinkPHP 项目需要 Nginx/Apache 是正常的,这是 PHP 的标准部署方式!
diff --git a/Windows服务器PHP部署指南.md b/Windows服务器PHP部署指南.md
new file mode 100644
index 0000000..8753ed3
--- /dev/null
+++ b/Windows服务器PHP部署指南.md
@@ -0,0 +1,840 @@
+# Windows 服务器 PHP 项目部署指南
+
+## 目录
+- [方案一:Apache + PHP(推荐新手)](#方案一apache--php推荐新手)
+- [方案二:Nginx + PHP(推荐生产环境)](#方案二nginx--php推荐生产环境)
+- [数据库配置](#数据库配置)
+- [常见问题](#常见问题)
+
+---
+
+## 方案一:Apache + PHP(推荐新手)
+
+### 优点
+- 配置简单,一键安装
+- .htaccess 自动生效,无需额外配置
+- 适合 Windows 环境
+- 图形化管理界面
+
+### 缺点
+- 性能略低于 Nginx
+- 内存占用较高
+
+---
+
+### 步骤 1:下载安装包
+
+#### 方式 A:使用 XAMPP(最简单)
+
+1. 下载 XAMPP
+ - 官网:https://www.apachefriends.org/
+ - 选择 Windows 版本
+ - 包含:Apache + PHP + MySQL
+
+2. 安装 XAMPP
+ ```
+ 双击安装程序
+ 选择安装路径:C:\xampp
+ 勾选组件:
+ ✓ Apache
+ ✓ MySQL
+ ✓ PHP
+ ✓ phpMyAdmin
+ ```
+
+3. 启动服务
+ ```
+ 打开 XAMPP Control Panel
+ 点击 Apache 的 "Start" 按钮
+ 点击 MySQL 的 "Start" 按钮
+ ```
+
+#### 方式 B:使用 PHPStudy(国内推荐)
+
+1. 下载 PHPStudy
+ - 官网:https://www.xp.cn/
+ - 下载 Windows 版本
+ - 集成环境,中文界面
+
+2. 安装并启动
+ ```
+ 安装到:D:\phpstudy_pro
+ 启动面板
+ 启动 Apache 和 MySQL
+ ```
+
+---
+
+### 步骤 2:部署项目
+
+#### 2.1 复制项目文件
+
+**XAMPP 方式:**
+```
+将你的 back 文件夹复制到:
+C:\xampp\htdocs\back
+```
+
+**PHPStudy 方式:**
+```
+将你的 back 文件夹复制到:
+D:\phpstudy_pro\WWW\back
+```
+
+#### 2.2 配置虚拟主机(可选,推荐)
+
+**XAMPP 配置:**
+
+1. 编辑 Apache 配置文件
+ ```
+ 打开:C:\xampp\apache\conf\extra\httpd-vhosts.conf
+ ```
+
+2. 添加虚拟主机配置
+ ```apache
+
+ ServerName localhost
+ DocumentRoot "C:/xampp/htdocs/back/public"
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+ ErrorLog "logs/back-error.log"
+ CustomLog "logs/back-access.log" common
+
+ ```
+
+3. 重启 Apache
+ ```
+ 在 XAMPP Control Panel 点击 Apache 的 "Stop"
+ 再点击 "Start"
+ ```
+
+**PHPStudy 配置:**
+
+1. 打开 PHPStudy 面板
+2. 点击 "网站" → "创建网站"
+3. 填写信息:
+ ```
+ 域名:localhost 或 your-domain.com
+ 端口:80
+ 根目录:D:\phpstudy_pro\WWW\back\public
+ PHP 版本:选择 7.2 或更高
+ ```
+4. 点击 "确认"
+
+---
+
+### 步骤 3:配置 PHP
+
+#### 3.1 检查 PHP 扩展
+
+**XAMPP:**
+```
+编辑:C:\xampp\php\php.ini
+```
+
+**PHPStudy:**
+```
+在面板中点击 "软件管理" → "PHP" → "配置文件"
+```
+
+**确保以下扩展已启用(去掉前面的分号):**
+```ini
+extension=curl
+extension=gd2
+extension=mbstring
+extension=mysqli
+extension=pdo_mysql
+extension=openssl
+
+; 如果需要连接 SQL Server(你的项目有用到)
+extension=pdo_sqlsrv
+extension=sqlsrv
+```
+
+#### 3.2 下载 SQL Server 驱动(重要!)
+
+你的项目需要连接 SQL Server,需要额外安装驱动:
+
+1. 下载 Microsoft Drivers for PHP for SQL Server
+ - 官网:https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server
+ - 选择对应 PHP 版本的驱动
+
+2. 解压并复制 DLL 文件
+ ```
+ 将 php_sqlsrv_*.dll 和 php_pdo_sqlsrv_*.dll 复制到:
+
+ XAMPP: C:\xampp\php\ext\
+ PHPStudy: D:\phpstudy_pro\Extensions\php\php7.x\ext\
+ ```
+
+3. 在 php.ini 中启用
+ ```ini
+ extension=php_sqlsrv_74_ts_x64.dll
+ extension=php_pdo_sqlsrv_74_ts_x64.dll
+ ```
+
+4. 重启 Apache
+
+---
+
+### 步骤 4:安装 Composer 依赖
+
+1. 下载 Composer for Windows
+ - 官网:https://getcomposer.org/download/
+ - 下载 Composer-Setup.exe
+
+2. 安装 Composer
+ ```
+ 双击安装程序
+ 选择 PHP 路径:
+ XAMPP: C:\xampp\php\php.exe
+ PHPStudy: D:\phpstudy_pro\Extensions\php\php7.x\php.exe
+ ```
+
+3. 安装项目依赖
+ ```cmd
+ 打开命令提示符(CMD)
+ cd C:\xampp\htdocs\back
+ composer install
+ ```
+
+ 如果速度慢,使用国内镜像:
+ ```cmd
+ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
+ composer install
+ ```
+
+---
+
+### 步骤 5:配置项目
+
+#### 5.1 修改数据库配置
+
+编辑:`back/application/database.php`
+
+```php
+return [
+ 'type' => 'mysql',
+ 'hostname' => '127.0.0.1', // 本地数据库
+ 'database' => 'oms', // 数据库名
+ 'username' => 'root', // 用户名
+ 'password' => '', // XAMPP 默认为空,PHPStudy 可能是 root
+ 'hostport' => '3306',
+ 'charset' => 'utf8',
+ 'prefix' => 'wdq_',
+];
+```
+
+#### 5.2 修改应用配置
+
+编辑:`back/application/config.php`
+
+```php
+return [
+ // 开发环境可以开启,生产环境必须关闭
+ 'app_debug' => true,
+
+ // 修改文件服务器地址
+ 'file_server_url' => 'http://localhost',
+
+ // 其他配置保持不变...
+];
+```
+
+#### 5.3 设置目录权限
+
+右键点击以下文件夹 → 属性 → 安全:
+```
+back/runtime → 完全控制
+back/public/uploads → 完全控制(如果有)
+```
+
+或使用命令:
+```cmd
+icacls "C:\xampp\htdocs\back\runtime" /grant Everyone:F /T
+```
+
+---
+
+### 步骤 6:导入数据库
+
+#### 使用 phpMyAdmin(XAMPP/PHPStudy 自带)
+
+1. 访问 phpMyAdmin
+ ```
+ XAMPP: http://localhost/phpmyadmin
+ PHPStudy: http://localhost/phpMyAdmin
+ ```
+
+2. 创建数据库
+ ```
+ 点击 "新建"
+ 数据库名:oms
+ 排序规则:utf8_general_ci
+ 点击 "创建"
+ ```
+
+3. 导入 SQL 文件
+ ```
+ 选择 oms 数据库
+ 点击 "导入"
+ 选择文件:C:\xampp\htdocs\back\kingcharm.sql
+ 点击 "执行"
+ ```
+
+#### 使用命令行
+
+```cmd
+cd C:\xampp\mysql\bin
+mysql -u root -p oms < C:\xampp\htdocs\back\kingcharm.sql
+```
+
+---
+
+### 步骤 7:测试访问
+
+1. 打开浏览器访问:
+ ```
+ http://localhost
+ 或
+ http://localhost/index.php
+ ```
+
+2. 测试 API 接口:
+ ```
+ http://localhost/api/test
+ ```
+
+3. 查看错误日志(如果有问题):
+ ```
+ back/runtime/log/
+ ```
+
+---
+
+## 方案二:Nginx + PHP(推荐生产环境)
+
+### 优点
+- 性能更好,并发能力强
+- 内存占用低
+- 适合高流量网站
+
+### 缺点
+- 配置稍复杂
+- 需要手动配置路由规则
+
+---
+
+### 步骤 1:下载安装包
+
+#### 1.1 下载 Nginx
+
+1. 访问官网:http://nginx.org/en/download.html
+2. 下载 Windows 版本(如 nginx-1.24.0.zip)
+3. 解压到:`C:\nginx`
+
+#### 1.2 下载 PHP
+
+1. 访问官网:https://windows.php.net/download/
+2. 下载 **Non Thread Safe (NTS)** 版本(重要!)
+3. 解压到:`C:\php`
+
+#### 1.3 下载 MySQL
+
+1. 访问官网:https://dev.mysql.com/downloads/mysql/
+2. 下载 Windows 版本
+3. 安装到:`C:\Program Files\MySQL\MySQL Server 8.0`
+
+---
+
+### 步骤 2:配置 PHP
+
+#### 2.1 配置 php.ini
+
+```cmd
+cd C:\php
+copy php.ini-development php.ini
+notepad php.ini
+```
+
+修改以下配置:
+
+```ini
+; 设置扩展目录
+extension_dir = "C:/php/ext"
+
+; 启用扩展
+extension=curl
+extension=gd
+extension=mbstring
+extension=mysqli
+extension=pdo_mysql
+extension=openssl
+
+; SQL Server 扩展(需要单独下载)
+extension=php_sqlsrv_81_nts_x64.dll
+extension=php_pdo_sqlsrv_81_nts_x64.dll
+
+; 时区设置
+date.timezone = Asia/Shanghai
+
+; 上传文件大小
+upload_max_filesize = 50M
+post_max_size = 50M
+
+; 错误显示(开发环境)
+display_errors = On
+error_reporting = E_ALL
+```
+
+#### 2.2 下载 SQL Server 驱动
+
+1. 下载驱动:https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server
+2. 解压并复制 DLL 到:`C:\php\ext\`
+3. 确保 php.ini 中已启用(见上面配置)
+
+---
+
+### 步骤 3:配置 Nginx
+
+#### 3.1 编辑 Nginx 配置
+
+编辑:`C:\nginx\conf\nginx.conf`
+
+```nginx
+worker_processes 1;
+
+events {
+ worker_connections 1024;
+}
+
+http {
+ include mime.types;
+ default_type application/octet-stream;
+
+ sendfile on;
+ keepalive_timeout 65;
+
+ server {
+ listen 80;
+ server_name localhost;
+
+ # 项目根目录(注意:指向 public 目录)
+ root C:/xampp/htdocs/back/public;
+ index index.php index.html;
+
+ # 访问日志
+ access_log logs/back-access.log;
+ error_log logs/back-error.log;
+
+ # ThinkPHP 路由重写规则
+ location / {
+ if (!-e $request_filename) {
+ rewrite ^(.*)$ /index.php?s=$1 last;
+ break;
+ }
+ }
+
+ # PHP 处理
+ location ~ \.php$ {
+ fastcgi_pass 127.0.0.1:9000;
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include fastcgi_params;
+ }
+
+ # 静态文件缓存
+ location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
+ expires 30d;
+ }
+
+ # 禁止访问隐藏文件
+ location ~ /\. {
+ deny all;
+ }
+ }
+}
+```
+
+---
+
+### 步骤 4:启动服务
+
+#### 4.1 启动 PHP-CGI
+
+创建启动脚本:`C:\php\start-php.bat`
+
+```batch
+@echo off
+echo Starting PHP FastCGI...
+C:\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\php\php.ini
+```
+
+双击运行 `start-php.bat`
+
+**或者使用后台运行(推荐):**
+
+创建:`C:\php\start-php-background.vbs`
+
+```vbscript
+Set WshShell = CreateObject("WScript.Shell")
+WshShell.Run "C:\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\php\php.ini", 0
+Set WshShell = Nothing
+```
+
+双击运行 `.vbs` 文件(不会显示黑窗口)
+
+#### 4.2 启动 Nginx
+
+```cmd
+cd C:\nginx
+start nginx
+```
+
+或创建启动脚本:`C:\nginx\start-nginx.bat`
+
+```batch
+@echo off
+echo Starting Nginx...
+cd C:\nginx
+start nginx.exe
+echo Nginx started!
+pause
+```
+
+#### 4.3 验证服务运行
+
+```cmd
+# 检查 Nginx 进程
+tasklist | findstr nginx
+
+# 检查 PHP 进程
+tasklist | findstr php-cgi
+
+# 检查端口占用
+netstat -ano | findstr :80
+netstat -ano | findstr :9000
+```
+
+---
+
+### 步骤 5:部署项目
+
+#### 5.1 复制项目文件
+
+```
+将 back 文件夹复制到:
+C:\www\back
+```
+
+#### 5.2 修改 Nginx 配置中的路径
+
+```nginx
+root C:/www/back/public;
+```
+
+#### 5.3 重启 Nginx
+
+```cmd
+cd C:\nginx
+nginx -s reload
+```
+
+---
+
+### 步骤 6:安装 Composer 依赖
+
+```cmd
+cd C:\www\back
+composer install
+```
+
+---
+
+### 步骤 7:配置数据库
+
+同方案一的步骤 5 和步骤 6
+
+---
+
+### 步骤 8:测试访问
+
+访问:http://localhost
+
+---
+
+## 数据库配置
+
+### MySQL 配置
+
+#### XAMPP/PHPStudy
+- 主机:127.0.0.1
+- 端口:3306
+- 用户:root
+- 密码:(XAMPP 默认为空)
+
+#### 独立安装的 MySQL
+- 安装时设置的密码
+
+### SQL Server 配置
+
+你的项目还需要连接 SQL Server:
+
+```php
+// back/application/config.php 中的 db2 配置
+'db2' => [
+ 'type' => 'sqlsrv',
+ 'hostname' => 'localhost', // 或 SQL Server 服务器 IP
+ 'database' => 'UFDATA_998_2017',
+ 'username' => 'sa',
+ 'password' => 'your_password',
+ 'hostport' => '1433',
+ 'charset' => 'utf8',
+ 'prefix' => '',
+],
+```
+
+**注意:** 需要安装 SQL Server 并确保 PHP 的 sqlsrv 扩展已启用!
+
+---
+
+## 设置开机自启动
+
+### 方案一:使用 Windows 服务
+
+#### 将 Nginx 注册为服务
+
+1. 下载 NSSM(Non-Sucking Service Manager)
+ - 官网:https://nssm.cc/download
+
+2. 安装 Nginx 服务
+ ```cmd
+ cd C:\nssm
+ nssm install nginx C:\nginx\nginx.exe
+ nssm start nginx
+ ```
+
+#### 将 PHP 注册为服务
+
+```cmd
+nssm install php-cgi C:\php\php-cgi.exe -b 127.0.0.1:9000
+nssm start php-cgi
+```
+
+### 方案二:使用启动文件夹
+
+1. 按 `Win + R`,输入 `shell:startup`
+2. 将启动脚本的快捷方式复制到此文件夹
+
+---
+
+## 常见问题
+
+### Q1: 访问提示 404 Not Found
+
+**原因:** 路由规则未生效
+
+**解决:**
+- Apache:确保 mod_rewrite 已启用,.htaccess 文件存在
+- Nginx:检查 rewrite 规则是否正确配置
+
+### Q2: 提示 "No input file specified"
+
+**原因:** PHP 路径配置错误
+
+**解决:**
+```nginx
+# Nginx 配置中确保使用绝对路径
+fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+```
+
+### Q3: 无法连接数据库
+
+**检查:**
+```cmd
+# 测试 MySQL 连接
+mysql -u root -p
+
+# 检查 MySQL 服务是否运行
+services.msc
+找到 MySQL 服务,确保已启动
+```
+
+### Q4: PHP 扩展未加载
+
+**检查:**
+```cmd
+# 查看已加载的扩展
+php -m
+
+# 查看 PHP 配置
+php --ini
+```
+
+### Q5: 端口被占用
+
+**检查端口占用:**
+```cmd
+netstat -ano | findstr :80
+netstat -ano | findstr :9000
+```
+
+**结束占用进程:**
+```cmd
+taskkill /F /PID 进程ID
+```
+
+### Q6: Nginx 无法启动
+
+**检查配置:**
+```cmd
+cd C:\nginx
+nginx -t
+```
+
+**查看错误日志:**
+```
+C:\nginx\logs\error.log
+```
+
+### Q7: 权限问题
+
+**解决:**
+```cmd
+# 给 runtime 目录完全权限
+icacls "C:\www\back\runtime" /grant Everyone:F /T
+```
+
+---
+
+## 性能优化建议
+
+### 1. 开启 OPcache
+
+编辑 `php.ini`:
+
+```ini
+[opcache]
+zend_extension=opcache
+opcache.enable=1
+opcache.memory_consumption=128
+opcache.max_accelerated_files=10000
+opcache.revalidate_freq=60
+```
+
+### 2. 调整 PHP-FPM 进程数
+
+如果使用 PHP-FPM(需要额外安装),编辑配置:
+
+```ini
+pm = dynamic
+pm.max_children = 50
+pm.start_servers = 10
+pm.min_spare_servers = 5
+pm.max_spare_servers = 20
+```
+
+### 3. Nginx 缓存配置
+
+```nginx
+# 在 http 块中添加
+fastcgi_cache_path C:/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;
+
+# 在 location ~ \.php$ 中添加
+fastcgi_cache my_cache;
+fastcgi_cache_valid 200 60m;
+```
+
+---
+
+## 生产环境检查清单
+
+```
+✓ 关闭调试模式(app_debug = false)
+✓ 修改数据库密码(不使用默认密码)
+✓ 设置 runtime 目录权限
+✓ 配置防火墙规则
+✓ 启用 HTTPS(使用 SSL 证书)
+✓ 定期备份数据库
+✓ 配置日志轮转
+✓ 监控服务器资源
+```
+
+---
+
+## 快速启动脚本
+
+### 创建一键启动脚本
+
+`start-all.bat`:
+
+```batch
+@echo off
+echo ========================================
+echo Starting PHP Development Environment
+echo ========================================
+
+echo.
+echo [1/3] Starting PHP-CGI...
+start /B C:\php\php-cgi.exe -b 127.0.0.1:9000
+
+echo [2/3] Starting Nginx...
+cd C:\nginx
+start nginx.exe
+
+echo [3/3] Starting MySQL...
+net start MySQL80
+
+echo.
+echo ========================================
+echo All services started successfully!
+echo ========================================
+echo.
+echo Visit: http://localhost
+echo.
+pause
+```
+
+### 创建一键停止脚本
+
+`stop-all.bat`:
+
+```batch
+@echo off
+echo Stopping all services...
+
+taskkill /F /IM nginx.exe
+taskkill /F /IM php-cgi.exe
+net stop MySQL80
+
+echo All services stopped!
+pause
+```
+
+---
+
+## 总结
+
+### 推荐方案
+
+| 场景 | 推荐方案 | 原因 |
+|------|---------|------|
+| 开发测试 | XAMPP/PHPStudy | 安装简单,图形化管理 |
+| 生产环境 | Nginx + PHP | 性能更好,稳定性高 |
+| 新手入门 | XAMPP | 一键安装,无需配置 |
+| 高并发 | Nginx + PHP | 并发能力强 |
+
+### 下一步
+
+1. 完成基础部署
+2. 测试所有功能
+3. 配置定时任务(如果需要)
+4. 设置数据库备份
+5. 监控服务器性能
+
+有问题随时问我!