Skip to content

Commit 3ca7d92

Browse files
authored
Merge pull request #177 from devilbox/release-0.114
Release 0.114
2 parents e09e02a + 8864095 commit 3ca7d92

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2239
-188
lines changed

.github/workflows/php-ci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ jobs:
7979
- '7.3'
8080
- '7.4'
8181
- '8.0'
82+
- '8.1'
8283
steps:
8384

8485
# ------------------------------------------------------------

.github/workflows/php-nightly.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,10 @@ jobs:
7979
- '7.3'
8080
- '7.4'
8181
- '8.0'
82+
- '8.1'
8283
refs:
8384
- 'master'
84-
- '0.113'
85+
- '0.114'
8586
steps:
8687

8788
# ------------------------------------------------------------

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ env:
2727
- PHP=7.3
2828
- PHP=7.4
2929
- PHP=8.0
30+
- PHP=8.1
3031

3132

3233
###

CHANGELOG.md

+15
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,21 @@
44
## Unreleased
55

66

7+
## Release 0.114
8+
9+
#### Fixed
10+
- Use latest PHP 8.0 image
11+
- Disabled gd-jis: https://bugs.php.net/bug.php?id=73582
12+
13+
#### Added
14+
- Add PHP 8.1
15+
- PHP module mongodb is added to PHP 8.0
16+
17+
#### Changed
18+
- Composer is updated to v2 (/usr/local/bin/composer)
19+
- Composer is available as v1 and v2 (/usr/local/bin/composer-[12])
20+
21+
722
## Release 0.113
823

924
#### Fixed

Dockerfiles/base/Dockerfile-8.1

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
2+
FROM devilbox/php-fpm-8.1
3+
MAINTAINER "cytopia" <[email protected]>
4+
5+
6+
###
7+
### Labels
8+
###
9+
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
10+
#LABEL "org.opencontainers.image.created"=""
11+
#LABEL "org.opencontainers.image.version"=""
12+
#LABEL "org.opencontainers.image.revision"=""
13+
LABEL "maintainer"="cytopia <[email protected]>"
14+
LABEL "org.opencontainers.image.authors"="cytopia <[email protected]>"
15+
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
16+
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
17+
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
18+
LABEL "org.opencontainers.image.vendor"="devilbox"
19+
LABEL "org.opencontainers.image.licenses"="MIT"
20+
LABEL "org.opencontainers.image.ref.name"="8.1-base"
21+
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-base"
22+
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-base"
23+
24+
25+
###
26+
### Envs
27+
###
28+
ENV MY_USER="devilbox" \
29+
MY_GROUP="devilbox" \
30+
MY_UID="1000" \
31+
MY_GID="1000" \
32+
PHP_VERSION="8.1"
33+
34+
35+
###
36+
### User/Group
37+
###
38+
RUN set -eux \
39+
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
40+
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
41+
42+
43+
###
44+
### Upgrade (install ps)
45+
###
46+
RUN set -eux \
47+
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
48+
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
49+
&& rm -rf /var/lib/apt/lists/*
50+
51+
52+
###
53+
### Configure
54+
###
55+
RUN set -eux \
56+
&& rm -rf /usr/local/etc/php-fpm.d \
57+
&& mkdir -p /usr/local/etc/php-fpm.d \
58+
&& mkdir -p /var/lib/php/session \
59+
&& mkdir -p /var/lib/php/wsdlcache \
60+
&& chown -R devilbox:devilbox /var/lib/php/session \
61+
&& chown -R devilbox:devilbox /var/lib/php/wsdlcache
62+
63+
64+
###
65+
### Copy files
66+
###
67+
COPY ./data/php-ini.d/php-8.1.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
68+
COPY ./data/php-fpm.conf/php-fpm-8.1.conf /usr/local/etc/php-fpm.conf
69+
70+
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
71+
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
72+
73+
74+
###
75+
### Verify
76+
###
77+
RUN set -eux \
78+
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
79+
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
80+
&& /usr/local/sbin/php-fpm --test \
81+
\
82+
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
83+
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
84+
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
85+
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
86+
\
87+
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
88+
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
89+
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
90+
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
91+
&& rm -f /usr/local/etc/php/php.ini
92+
93+
94+
###
95+
### Ports
96+
###
97+
EXPOSE 9000
98+
99+
100+
###
101+
### Entrypoint
102+
###
103+
CMD ["/usr/local/sbin/php-fpm"]
104+
ENTRYPOINT ["/docker-entrypoint.sh"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
; ################################################################################
2+
; ####
3+
; #### The following settings can be overwritten by later includes
4+
; ####
5+
; ################################################################################
6+
7+
8+
; ############################################################
9+
; Timeouts
10+
; ############################################################
11+
12+
[www]
13+
; The timeout for serving a single request after which the worker process will be killed.
14+
; This option should be used when the 'max_execution_time' ini option does not stop script
15+
; execution for some reason.
16+
request_terminate_timeout = 120s
17+
18+
19+
; ############################################################
20+
; Logging
21+
; ############################################################
22+
23+
[global]
24+
error_log = /proc/self/fd/2
25+
log_level = notice
26+
27+
[www]
28+
; if we send this to /proc/self/fd/1, it never appears
29+
access.log = /proc/self/fd/2
30+
31+
32+
; ############################################################
33+
; Backlog configuration
34+
; ############################################################
35+
36+
[www]
37+
; A maximum of backlog incoming connections will be queued for processing.
38+
; If a connection request arrives with the queue full the client may receive an error with an
39+
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
40+
; the request may be ignored so that retries may succeed.
41+
42+
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
43+
; are silently truncated
44+
listen.backlog = 1024
45+
46+
47+
; ############################################################
48+
; Worker configuration
49+
; ############################################################
50+
51+
[www]
52+
; static - the number of child processes is fixed (pm.max_children).
53+
;
54+
; dynamic - the number of child processes is set dynamically based on the following directives:
55+
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
56+
;
57+
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
58+
; pm.start_servers are started when the service is started.
59+
pm = ondemand
60+
61+
; The maximum number of child processes to be created
62+
pm.max_children = 50
63+
64+
; The number of child processes created on startup. Used only when pm is set to dynamic.
65+
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
66+
pm.start_servers = 4
67+
68+
; The desired minimum number of idle server processes.
69+
pm.min_spare_servers = 2
70+
71+
; The desired maximum number of idle server processes.
72+
pm.max_spare_servers = 6
73+
74+
; The number of requests each child process should execute before respawning.
75+
; This can be useful to work around memory leaks in 3rd party libraries.
76+
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
77+
; Default value: 0.
78+
pm.max_requests = 500
79+
80+
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
81+
pm.process_idle_timeout = 10s
82+
83+
84+
; ############################################################
85+
; Include
86+
; ############################################################
87+
88+
89+
[global]
90+
include = /usr/local/etc/php-fpm.d/*.conf
91+
92+
93+
; ################################################################################
94+
; ####
95+
; #### The following settings overwrite any includes again
96+
; ####
97+
; ################################################################################
98+
99+
100+
; ############################################################
101+
; Required for Dockerization
102+
; ############################################################
103+
104+
[global]
105+
daemonize = no
106+
107+
[www]
108+
; Keep env variables set by docker
109+
clear_env = no
110+
111+
; Redirect worker stdout and stderr into main error log. If not set, stdout and
112+
; stderr will be redirected to /dev/null according to FastCGI specs.
113+
; Note: on highloaded environement, this can cause some delay in the page
114+
; process time (several ms).
115+
; Default Value: no
116+
catch_workers_output = yes
117+
118+
119+
; ############################################################
120+
; User and Group
121+
; ############################################################
122+
123+
[www]
124+
user = devilbox
125+
group = devilbox
126+
127+
128+
; ############################################################
129+
; Networking
130+
; ############################################################
131+
132+
[www]
133+
; Ensure to listen here
134+
listen = 9000
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
; ############################################################
2+
; # Devilbox PHP defaults for 8.1-base
3+
; ############################################################
4+
5+
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
6+
; If none is present, the one from the previous flavour is inherited.
7+
8+
9+
[PHP]
10+
11+
; Memory
12+
; Note: "memory_limit" should be larger than "post_max_size"
13+
memory_limit = 512M
14+
15+
16+
; Timeouts
17+
max_execution_time = 120
18+
max_input_time = 120
19+
20+
21+
; Uploads
22+
; Note: "post_max_size" should be greater than "upload_max_filesize"
23+
post_max_size = 72M
24+
upload_max_filesize = 64M
25+
max_file_uploads = 20
26+
27+
28+
; Vars
29+
variables_order = EGPCS
30+
max_input_vars = 8000
31+
max_input_nesting_level = 64
32+
33+
34+
; Error reporting
35+
; Note: error_log is dynamic and handled during start to set appropriate setting
36+
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
37+
xmlrpc_errors = Off
38+
report_memleaks = On
39+
display_errors = Off
40+
display_startup_errors = Off
41+
log_errors = On
42+
html_errors = Off
43+
44+
45+
; Xdebug settings
46+
xdebug.default_enable = Off
47+
xdebug.profiler_enable = Off
48+
xdebug.remote_enable = Off
49+
xdebug.remote_autostart = Off

Dockerfiles/mods/Dockerfile-5.2

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype
172172
# Installation: Version specific
173173
# Type: Built-in extension
174174
# Custom: configure command
175-
&& docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
175+
&& docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \
176176
# Installation
177177
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
178178
&& true

Dockerfiles/mods/Dockerfile-5.3

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ RUN set -eux \
168168
# Installation: Version specific
169169
# Type: Built-in extension
170170
# Custom: configure command
171-
&& docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
171+
&& docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \
172172
# Installation
173173
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
174174
&& true

Dockerfiles/mods/Dockerfile-5.4

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ RUN set -eux \
168168
# Installation: Version specific
169169
# Type: Built-in extension
170170
# Custom: configure command
171-
&& docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
171+
&& docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \
172172
# Installation
173173
&& docker-php-ext-install gd \
174174
&& true

Dockerfiles/mods/Dockerfile-5.5

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ RUN set -eux \
162162
# Installation: Version specific
163163
# Type: Built-in extension
164164
# Custom: configure command
165-
&& docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
165+
&& docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \
166166
# Installation
167167
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
168168
&& true

Dockerfiles/mods/Dockerfile-5.6

+1-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ RUN set -eux \
178178
# Installation: Version specific
179179
# Type: Built-in extension
180180
# Custom: configure command
181-
&& docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
181+
&& docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \
182182
# Installation
183183
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
184184
&& true

Dockerfiles/mods/Dockerfile-7.0

+1-1
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ RUN set -eux \
195195
# Installation: Version specific
196196
# Type: Built-in extension
197197
# Custom: configure command
198-
&& docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
198+
&& docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \
199199
# Installation
200200
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
201201
&& true

0 commit comments

Comments
 (0)