Skip to content

Commit a7383cd

Browse files
committed
feat: 增加 php 8.2
1 parent 8334feb commit a7383cd

File tree

9 files changed

+2037
-20
lines changed

9 files changed

+2037
-20
lines changed

.bash_aliases.example

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ tosource() {
3030

3131
tophp() {
3232
if [[ $# -lt 1 ]]; then
33-
local version=php81
33+
local version=php82
3434
else
3535
local version=$1
3636
fi
@@ -44,6 +44,7 @@ tophp() {
4444
docker compose -f "${DPE_COMPOSE}" exec -w "${workdir}" "${version}" bash
4545
}
4646

47+
alias tophp82='tophp php82'
4748
alias tophp81='tophp php81'
4849
alias tophp80='tophp php80'
4950
alias tophp74='tophp php74'
@@ -86,13 +87,14 @@ php() {
8687
version=$1
8788
params=${@:2}
8889
else
89-
version=php81
90+
version=php82
9091
params=$@
9192
fi
9293

9394
docker compose -f "${DPE_COMPOSE}" exec -w "${workdir}" "${version}" php ${params}
9495
}
9596

97+
alias php82='php php82'
9698
alias php81='php php81'
9799
alias php80='php php80'
98100
alias php74='php php74'

README.md

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
4. Redis(使用官方镜像)
3030
5. phpRedisAdmin(使用官方镜像)
3131
6. Memcached(使用官方镜像)
32-
7. PHP8.1/PHP8.0/PHP7.4/PHP7.3(使用基于官方的集成镜像 [suyar/php:x.x-integration](https://github.com/suyar/docker-php#%E9%9B%86%E6%88%90%E9%95%9C%E5%83%8F)
32+
7. PHP8.2/PHP8.1/PHP8.0/PHP7.4/PHP7.3(使用基于官方的集成镜像 [suyar/php:x.x-integration](https://github.com/suyar/docker-php#%E9%9B%86%E6%88%90%E9%95%9C%E5%83%8F)
3333
8. Nginx(使用官方镜像)
3434
9. RabbitMQ(使用官方镜像)
3535
10. MongoDB(使用官方镜像)
@@ -82,9 +82,12 @@
8282
│   │   ├── 80
8383
│   │   │   ├── log PHP8.0 错误日志与慢日志
8484
│   │   │   └── supervisor PHP8.0 里 supervisor 日志
85-
│   │   └── 81
86-
│   │   ├── log PHP8.1 错误日志与慢日志
87-
│   │   └── supervisor PHP8.1 里 supervisor 日志
85+
│   │   ├── 81
86+
│   │   │   ├── log PHP8.1 错误日志与慢日志
87+
│   │   │   └── supervisor PHP8.1 里 supervisor 日志
88+
│   │   └── 82
89+
│   │   ├── log PHP8.2 错误日志与慢日志
90+
│   │   └── supervisor PHP8.2 里 supervisor 日志
8891
│   └── rabbitmq Rabbitmq 日志
8992
├── services
9093
│   ├── elasticsearch Elasticsearch 配置目录
@@ -97,7 +100,8 @@
97100
│   │   ├── 73 PHP7.3 配置目录
98101
│   │   ├── 74 PHP7.4 配置目录
99102
│   │   ├── 80 PHP8.0 配置目录
100-
│   │   └── 81 PHP8.1 配置目录
103+
│   │   ├── 81 PHP8.1 配置目录
104+
│   │   └── 82 PHP8.2 配置目录
101105
│   ├── phpmyadmin phpMyAdmin 配置目录
102106
│   ├── rabbitmq Rabbitmq 配置目录
103107
│   └── redis Redis 配置目录
@@ -246,7 +250,7 @@ Zend OPcache
246250
除了预置的扩展,如果你还想安装其他扩展,可以直接执行:
247251
248252
```
249-
# sudo docker-compose exec php81 install-php-extensions xxx
253+
# sudo docker-compose exec php82 install-php-extensions xxx
250254
```
251255
252256
支持的扩展在这边可以在这边查看:[docker-php-extension-installer](https://github.com/mlocati/docker-php-extension-installer#supported-php-extensions)。
@@ -256,15 +260,15 @@ Zend OPcache
256260
### 3.3 在 PHP 容器中执行命令
257261
258262
```
259-
# sudo docker-compose exec php81 bash
260-
root@08240e17170e:/www# php -v
263+
# sudo docker-compose exec php82 bash
264+
root@php82:/www# php -v
261265
```
262266
263267
### 3.4 使用 composer
264268
265269
```
266-
# sudo docker-compose exec php81 bash
267-
root@08240e17170e:/www# composer install
270+
# sudo docker-compose exec php82 bash
271+
root@php82:/www# composer install
268272
```
269273
270274
### 3.5 快捷操作
@@ -289,8 +293,10 @@ root@08240e17170e:/www# composer install
289293
# 进入宿主机 DIR_SOURCE 目录
290294
$ tosource
291295
292-
# 进入 php81 容器,自动识别挂载目录中的相对路径
296+
# 进入 php82 容器,自动识别挂载目录中的相对路径
293297
$ tophp
298+
# 进入 php82 容器,自动识别挂载目录中的相对路径
299+
$ tophp82
294300
# 进入 php81 容器,自动识别挂载目录中的相对路径
295301
$ tophp81
296302
# 进入 php80 容器,自动识别挂载目录中的相对路径
@@ -312,6 +318,7 @@ root@08240e17170e:/www# composer install
312318
313319
# 在宿主机执行 php 命令,自动识别挂载目录中的相对路径
314320
$ php
321+
$ php82
315322
$ php81
316323
$ php80
317324
$ php74
@@ -342,7 +349,7 @@ root@08240e17170e:/www# composer install
342349
343350
```
344351
$ tophp
345-
root@0f70cb169d72:/www/laravel#
352+
root@php82:/www/laravel#
346353
```
347354
348355
可以看到,这时候默认进入到 `laravel` 目录。
@@ -391,7 +398,7 @@ root@08240e17170e:/www# composer install
391398
392399
### 4.2 在 PHP 容器中使用 cron 定时任务
393400
394-
这里以 `php81` 容器举例:
401+
这里以 `php82` 容器举例:
395402
396403
1. 在 `DIR_SOURCE` 所在的目录或项目中,增加一个文件,例如创建 `www/laravel/schedule` 文件,并把定时任务写在里面:
397404
@@ -402,16 +409,16 @@ root@08240e17170e:/www# composer install
402409
2. 进入 PHP 容器,添加定时任务:
403410
404411
```
405-
# sudo docker compose exec php81 bash
412+
# sudo docker compose exec php82 bash
406413
# crontab /www/laravel/schedule
407414
```
408415
409416
### 4.3 在 PHP 容器中使用 supervisor
410417
411-
这里以 `php81` 容器举例:
418+
这里以 `php82` 容器举例:
412419
413420
1. 修改 `services/php/81/supervisor.conf` 的内容
414-
2. 重启 `php81` 容器
421+
2. 重启 `php82` 容器
415422
416423
### 4.4 清空服务数据
417424

docker-compose.yml.example

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,36 @@ services:
122122
max-size: "10m"
123123
max-file: "1"
124124

125+
php82:
126+
image: suyar/php:8.2-integration
127+
environment:
128+
TZ: ${TZ}
129+
COMPOSER_ALLOW_SUPERUSER: 1
130+
COMPOSER_MEMORY_LIMIT: -1
131+
COMPOSER_HOME: /tmp/composer
132+
volumes:
133+
- ${DIR_SERVICES}/php/82/php.ini:/usr/local/etc/php/php.ini
134+
- ${DIR_SERVICES}/php/82/php-fpm.conf:/usr/local/etc/php-fpm.d/zz-custom.conf
135+
- ${DIR_SERVICES}/php/82/supervisor.conf:/etc/supervisor/conf.d/service.conf
136+
- ${DIR_DATA}/composer:/tmp/composer
137+
- ${DIR_LOGS}/php/82/supervisor:/var/log/supervisor
138+
- ${DIR_LOGS}/php/82/log:/var/log/php
139+
- ${DIR_SOURCE}:/www
140+
working_dir: /www
141+
hostname: php82
142+
cap_add:
143+
- SYS_PTRACE
144+
networks:
145+
- default
146+
extra_hosts:
147+
- "demo.laravel.me:110.110.119.119"
148+
restart: unless-stopped
149+
logging:
150+
driver: "json-file"
151+
options:
152+
max-size: "10m"
153+
max-file: "1"
154+
125155
php81:
126156
image: suyar/php:8.1-integration
127157
environment:
@@ -143,8 +173,6 @@ services:
143173
- SYS_PTRACE
144174
networks:
145175
- default
146-
extra_hosts:
147-
- "demo.laravel.me:110.110.119.119"
148176
restart: unless-stopped
149177
logging:
150178
driver: "json-file"

dpe.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ LOGS_DIRS=(
3232
php/80/supervisor
3333
php/81/log
3434
php/81/supervisor
35+
php/82/log
36+
php/82/supervisor
3537
rabbitmq
3638
)
3739

logs/php/82/log/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!.gitignore

logs/php/82/supervisor/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!.gitignore

services/php/82/php-fpm.conf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
; 此文件会和默认的 /usr/local/etc/php-fpm.d/www.conf 进行 mixins
2+
[www]
3+
slowlog = /var/log/php/fpm_slow.log
4+
request_slowlog_timeout = 5s

0 commit comments

Comments
 (0)