总是做些无用功。

吐槽下它这个token套餐的限制真是坑人。不让你加班,你得休息一天。

吐完我心里好点了。贴下我的总结

# 创建 Docker 版本的 ThinkPHP 6.1.0 环境

## 镜像信息

| 服务 | 镜像 | 版本 | 端口 |
|------|------|------|------|
| PHP | ccr.ccs.tencentyun.com/crmebky_php/php | latest (7.4.33) | 9000 |
| MySQL | ccr.ccs.tencentyun.com/crmebky_php/mysql | v8.0.45 | 3307:3306 |
| Redis | ccr.ccs.tencentyun.com/crmebky_php/redis | v8.6.1 | 6380:6379 |

## PHP 扩展

| 扩展 | 状态 |
|------|------|
| bcmath | ✅ 已启用 |
| gd | ✅ 2.1.0 |
| mysqli | ✅ mysqlnd 7.4.33 |
| pdo_mysql | ✅ mysqlnd 7.4.33 |
| redis | ✅ 6.3.0 |
| sodium | ✅ libsodium 1.0.18 |
| zip | ✅ 已启用 |
| swoole | ❌ 未安装 |

## 数据库配置

### MySQL
- 主机: `mysql`
- 端口: `3306`
- 用户: `root`
- 密码: `root123`
- 数据库: `tp6_test`

### Redis
- 主机: `redis`
- 端口: `6379`
- 密码: `123456`

## docker-compose.yml

```yaml
services:
  php:
    image: ccr.ccs.tencentyun.com/crmebky_php/php:latest
    container_name: tp6_php
    volumes:
      - ./tp6:/var/www/html
    depends_on:
      - mysql
      - redis
    networks:
      - tp6_network

  mysql:
    image: ccr.ccs.tencentyun.com/crmebky_php/mysql:v8.0.45
    container_name: tp6_mysql
    environment:
      MYSQL_ROOT_PASSWORD: root123
      MYSQL_DATABASE: tp6_test
    ports:
      - "3307:3306"
    networks:
      - tp6_network
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 5s
      timeout: 3s
      retries: 10

  redis:
    image: ccr.ccs.tencentyun.com/crmebky_php/redis:v8.6.1
    container_name: tp6_redis
    ports:
      - "6380:6379"
    networks:
      - tp6_network

networks:
  tp6_network:
    driver: bridge
```

## .env 配置

```env
APP_DEBUG = true

DB_TYPE = mysql
DB_HOST = mysql
DB_NAME = tp6_test
DB_USER = root
DB_PASS = root123
DB_PORT = 3306
DB_CHARSET = utf8

REDIS_HOST = redis
REDIS_PORT = 6379
REDIS_PASSWORD = 123456
```

## 测试路由

```
test/mysql   → testdb/testMysql  (测试数据库连接)
test/redis   → testdb/testRedis  (测试Redis连接)
test/all     → testdb/testAll    (综合测试)
```

## 常用命令

```bash
# 启动所有服务
docker-compose up -d

# 查看容器状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 进入PHP容器
docker exec -it tp6_php sh

# 测试MySQL
docker exec tp6_php sh -c "curl -s http://127.0.0.1:8080/test/mysql"

# 测试Redis
docker exec tp6_php sh -c "curl -s http://127.0.0.1:8080/test/redis"

# 停止所有服务
docker-compose down

# 删除所有服务
docker-compose down -v
```

## 测试结果

### MySQL 测试
```
MySQL连接: OK
插入数据: {"id":"1","name":"test_xxx","created_at":"2026-07-25 10:54:43"}
MySQL读写: OK
```

### Redis 测试
```
Redis连接: OK
Redis版本: 8.6.1
读写测试: OK
```

## 注意事项

1. **Redis 默认密码**: `123456`,需要在 .env 中配置
2. **PHP 版本**: 7.4.33,不支持 ThinkPHP 8.x(需要 PHP 8.2+)
3. **ThinkPHP 版本**: 使用 6.1.0 版本
4. **网络**: 容器间通过服务名互连(mysql, redis),宿主机通过端口访问

# 创建 Docker 版本的 ThinkPHP 6.1.0 环境

## 镜像信息

| 服务 | 镜像 | 版本 | 端口 |

|------|------|------|------|

| PHP | ccr.ccs.tencentyun.com/crmebky_php/php | latest (7.4.33) | 9000 |

| MySQL | ccr.ccs.tencentyun.com/crmebky_php/mysql | v8.0.45 | 3307:3306 |

| Redis | ccr.ccs.tencentyun.com/crmebky_php/redis | v8.6.1 | 6380:6379 |

## PHP 扩展

| 扩展 | 状态 |

|------|------|

| bcmath | ✅ 已启用 |

| gd | ✅ 2.1.0 |

| mysqli | ✅ mysqlnd 7.4.33 |

| pdo_mysql | ✅ mysqlnd 7.4.33 |

| redis | ✅ 6.3.0 |

| sodium | ✅ libsodium 1.0.18 |

| zip | ✅ 已启用 |

| swoole | ❌ 未安装 |

## 数据库配置

### MySQL

- 主机: `mysql`

- 端口: `3306`

- 用户: `root`

- 密码: `root123`

- 数据库: `tp6_test`

### Redis

- 主机: `redis`

- 端口: `6379`

- 密码: `123456`

## docker-compose.yml

```yaml

services:

  php:

    image: ccr.ccs.tencentyun.com/crmebky_php/php:latest

    container_name: tp6_php

    volumes:

      - ./tp6:/var/www/html

    depends_on:

      - mysql

      - redis

    networks:

      - tp6_network

  mysql:

    image: ccr.ccs.tencentyun.com/crmebky_php/mysql:v8.0.45

    container_name: tp6_mysql

    environment:

      MYSQL_ROOT_PASSWORD: root123

      MYSQL_DATABASE: tp6_test

    ports:

      - "3307:3306"

    networks:

      - tp6_network

    healthcheck:

      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]

      interval: 5s

      timeout: 3s

      retries: 10

  redis:

    image: ccr.ccs.tencentyun.com/crmebky_php/redis:v8.6.1

    container_name: tp6_redis

    ports:

      - "6380:6379"

    networks:

      - tp6_network

networks:

  tp6_network:

    driver: bridge

```

## .env 配置

```env

APP_DEBUG = true

DB_TYPE = mysql

DB_HOST = mysql

DB_NAME = tp6_test

DB_USER = root

DB_PASS = root123

DB_PORT = 3306

DB_CHARSET = utf8

REDIS_HOST = redis

REDIS_PORT = 6379

REDIS_PASSWORD = 123456

```

## 测试路由

```

test/mysql   → testdb/testMysql  (测试数据库连接)

test/redis   → testdb/testRedis  (测试Redis连接)

test/all     → testdb/testAll    (综合测试)

```

## 常用命令

```bash

# 启动所有服务

docker-compose up -d

# 查看容器状态

docker-compose ps

# 查看日志

docker-compose logs -f

# 进入PHP容器

docker exec -it tp6_php sh

# 测试MySQL

docker exec tp6_php sh -c "curl -s http://127.0.0.1:8080/test/mysql"

# 测试Redis

docker exec tp6_php sh -c "curl -s http://127.0.0.1:8080/test/redis"

# 停止所有服务

docker-compose down

# 删除所有服务

docker-compose down -v

```

## 测试结果

### MySQL 测试

```

MySQL连接: OK

插入数据: {"id":"1","name":"test_xxx","created_at":"2026-07-25 10:54:43"}

MySQL读写: OK

```

### Redis 测试

```

Redis连接: OK

Redis版本: 8.6.1

读写测试: OK

```

## 注意事项

1. **Redis 默认密码**: `123456`,需要在 .env 中配置

2. **PHP 版本**: 7.4.33,不支持 ThinkPHP 8.x(需要 PHP 8.2+)

3. **ThinkPHP 版本**: 使用 6.1.0 版本

4. **网络**: 容器间通过服务名互连(mysql, redis),宿主机通过端口访问

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐