11ARG PHP_VERSION="8.0"
22ARG DEBIAN_VERSION="bullseye"
33
4- FROM php:${PHP_VERSION}-fpm-${DEBIAN_VERSION} as pimcore_php_fpm
4+ FROM php:${PHP_VERSION}-fpm-${DEBIAN_VERSION} AS pimcore_php_fpm
55
66RUN set -eux; \
77 DPKG_ARCH="$(dpkg --print-architecture)" ; \
@@ -52,19 +52,45 @@ RUN set -eux; \
5252 rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* ~/.composer || true; \
5353 sync;
5454
55- RUN echo "upload_max_filesize = 100M" >> /usr/local/etc/php/conf.d/20-pimcore.ini; \
56- echo "memory_limit = 256M" >> /usr/local/etc/php/conf.d/20-pimcore.ini; \
57- echo "post_max_size = 100M" >> /usr/local/etc/php/conf.d/20-pimcore.ini
58-
59- ENV COMPOSER_ALLOW_SUPERUSER 1
60- ENV COMPOSER_MEMORY_LIMIT -1
55+ COPY files/php.ini /usr/local/etc/php/conf.d/20-pimcore.ini
56+ COPY files/php-fpm.conf /usr/local/etc/php-fpm.d/zz-www.conf
57+
58+ # env php.ini
59+ ENV PHP_TIMEZONE="UTC"
60+ ENV PHP_MEMORY_LIMIT="256M"
61+ ENV PHP_POST_MAX_SIZE="100M"
62+ ENV PHP_UPLOAD_MAX_FILESIZE="100M"
63+ ENV PHP_DISPLAY_STARTUP_ERRORS=1
64+ ENV PHP_MAX_EXECUTION_TIME="30"
65+ ENV PHP_ERROR_REPORTING="E_ALL"
66+ ENV PHP_EXPOSE_PHP="Off"
67+
68+ # opcache settings
69+ ENV OPCACHE_ENABLE=1
70+ ENV OPCACHE_ENABLE_CLI=0
71+ ENV OPCACHE_MEMORY_CONSUMPTION=128
72+ ENV OPCACHE_MAX_ACCELERATED_FILES=10000
73+ ENV OPCACHE_VALIDATE_TIMESTAMPS=1
74+ ENV OPCACHE_CONSISTENCY_CHECKS=0
75+
76+ # fpm settings
77+ ENV PHP_FPM_LISTEN=0.0.0.0:9000
78+ ENV PHP_FPM_PM=dynamic
79+ ENV PHP_FPM_PM_MAX_CHILDREN=5
80+ ENV PHP_FPM_PM_START_SERVERS=2
81+ ENV PHP_FPM_PM_MAX_SPARE_SERVERS=3
82+ ENV PHP_FPM_PM_MIN_SPARE_SERVERS=1
83+ ENV PHP_FPM_PM_MAX_REQUESTS=10000
84+
85+ ENV COMPOSER_ALLOW_SUPERUSER=1
86+ ENV COMPOSER_MEMORY_LIMIT=-1
6187COPY --from=composer/composer:2-bin /composer /usr/bin/composer
6288
6389WORKDIR /var/www/html
6490
6591CMD ["php-fpm" ]
6692
67- FROM pimcore_php_fpm as pimcore_php_debug
93+ FROM pimcore_php_fpm AS pimcore_php_debug
6894
6995RUN apt-get update; \
7096 apt-get install -y --no-install-recommends \
@@ -79,15 +105,15 @@ RUN apt-get update; \
79105# allow container to run as custom user, this won't work otherwise because config is changed in entrypoint.sh
80106RUN chmod -R 0777 /usr/local/etc/php/conf.d
81107
82- ENV PHP_IDE_CONFIG serverName=localhost
108+ ENV PHP_IDE_CONFIG= serverName=localhost
83109
84110COPY files/entrypoint.sh /usr/local/bin
85111RUN chmod +x /usr/local/bin/entrypoint.sh
86112
87113ENTRYPOINT ["/usr/local/bin/entrypoint.sh" ]
88114CMD ["php-fpm" ]
89115
90- FROM pimcore_php_fpm as pimcore_php_supervisord
116+ FROM pimcore_php_fpm AS pimcore_php_supervisord
91117
92118RUN apt-get update && apt-get install -y supervisor cron
93119COPY files/supervisord.conf /etc/supervisor/supervisord.conf
0 commit comments