ADD DOC
This commit is contained in:
390
PHP项目部署说明.md
Normal file
390
PHP项目部署说明.md
Normal file
@@ -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 - 这只是文本文件
|
||||||
|
<?php
|
||||||
|
echo "Hello World";
|
||||||
|
?>
|
||||||
|
```
|
||||||
|
|
||||||
|
这个文件**不能直接运行**,需要:
|
||||||
|
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
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
Options +FollowSymlinks -Multiviews
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
|
||||||
|
</IfModule>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 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
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerName your-domain.com
|
||||||
|
DocumentRoot /var/www/back/public
|
||||||
|
|
||||||
|
<Directory /var/www/back/public>
|
||||||
|
Options Indexes FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||||
|
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||||
|
</VirtualHost>
|
||||||
|
```
|
||||||
|
|
||||||
|
```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 的标准部署方式!
|
||||||
840
Windows服务器PHP部署指南.md
Normal file
840
Windows服务器PHP部署指南.md
Normal file
@@ -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
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerName localhost
|
||||||
|
DocumentRoot "C:/xampp/htdocs/back/public"
|
||||||
|
|
||||||
|
<Directory "C:/xampp/htdocs/back/public">
|
||||||
|
Options Indexes FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
ErrorLog "logs/back-error.log"
|
||||||
|
CustomLog "logs/back-access.log" common
|
||||||
|
</VirtualHost>
|
||||||
|
```
|
||||||
|
|
||||||
|
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. 监控服务器性能
|
||||||
|
|
||||||
|
有问题随时问我!
|
||||||
Reference in New Issue
Block a user