Skip to content

Commit f1f89cb

Browse files
committed
Add FPM to apache variant
1 parent e9320fd commit f1f89cb

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

apache-Dockerfile-block-1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,4 @@ RUN { \
5757
&& a2enconf docker-php
5858

5959
ENV PHP_EXTRA_BUILD_DEPS apache2-dev
60-
ENV PHP_EXTRA_CONFIGURE_ARGS --with-apxs2 --disable-cgi
60+
ENV PHP_EXTRA_CONFIGURE_ARGS --with-apxs2 --disable-cgi --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data

apache-Dockerfile-block-2

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,43 @@
11
COPY apache2-foreground /usr/local/bin/
22
WORKDIR /var/www/html
33

4+
RUN set -ex \
5+
&& cd /usr/local/etc \
6+
&& if [ -d php-fpm.d ]; then \
7+
# for some reason, upstream's php-fpm.conf.default has "include=NONE/etc/php-fpm.d/*.conf"
8+
sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; \
9+
cp php-fpm.d/www.conf.default php-fpm.d/www.conf; \
10+
else \
11+
# PHP 5.x doesn't use "include=" by default, so we'll create our own simple config that mimics PHP 7+ for consistency
12+
mkdir php-fpm.d; \
13+
cp php-fpm.conf.default php-fpm.d/www.conf; \
14+
{ \
15+
echo '[global]'; \
16+
echo 'include=etc/php-fpm.d/*.conf'; \
17+
} | tee php-fpm.conf; \
18+
fi \
19+
&& { \
20+
echo '[global]'; \
21+
echo 'error_log = /proc/self/fd/2'; \
22+
echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; \
23+
echo; \
24+
echo '[www]'; \
25+
echo '; if we send this to /proc/self/fd/1, it never appears'; \
26+
echo 'access.log = /proc/self/fd/2'; \
27+
echo; \
28+
echo 'clear_env = no'; \
29+
echo; \
30+
echo '; Ensure worker stdout and stderr are sent to the main error log.'; \
31+
echo 'catch_workers_output = yes'; \
32+
echo 'decorate_workers_output = no'; \
33+
} | tee php-fpm.d/docker.conf \
34+
&& { \
35+
echo '[global]'; \
36+
echo 'daemonize = no'; \
37+
echo; \
38+
echo '[www]'; \
39+
echo 'listen = 9000'; \
40+
} | tee php-fpm.d/zz-docker.conf
41+
442
EXPOSE 80
543
CMD ["apache2-foreground"]

update.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ for version in "${versions[@]}"; do
159159
# sodium is part of php core 7.2+ https://wiki.php.net/rfc/libsodium
160160
sed -ri '/sodium/d' "$version/$suite/$variant/Dockerfile"
161161
fi
162-
if [ "$variant" = 'fpm' -a "$majorVersion" = '7' -a "$minorVersion" -lt '3' ]; then
162+
if [ "$variant" = 'fpm' -o "$variant" = 'apache' ] && [ "$majorVersion" = '7' -a "$minorVersion" -lt '3' ]; then
163163
# php-fpm "decorate_workers_output" is only available in 7.3+
164164
sed -ri \
165165
-e '/decorate_workers_output/d' \

0 commit comments

Comments
 (0)