江鸟's Blog

docker建立php+mysql+apache的web环境

字数统计: 278阅读时长: 1 min
2020/01/20 Share

这是Apache的,之后更新Nginx

php文件夹内需要写Dockfile

1
2
3
4
5
6
7
8
9
10
11
12
13
FROM php:7.1-apache


RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN docker-php-ext-enable mysqli

ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /tmp
ENV COMPOSER_VERSION 1.5.1


VOLUME /var/www/html
WORKDIR /var/www/html

如果没有RUN docker-php-ext-install pdo pdo_mysql mysqli RUN docker-php-ext-enable mysqli的话,会出现报错提示没有mysqli。

php-fpm.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[www]

user = www-data
group = www-data
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 50

; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.start_servers = 7

; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 5

; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 9

pm.max_requests = 5000

pm.status_path = /fpm-status.php

php.ini

1
2
3
4
5
6
7
date.timezone = "Asia/Shanghai"
display_errors = On
error_reporting = E_ALL
short_open_tag=Off
upload_max_filesize = 50M
post_max_size = 50M
memory_limit=512M

src文件夹内就放内容就可以了,如果是一些src,那么需要修改文件夹的路径,在var/www/html/public应该就可以了。

CATALOG