diff --git a/php/8/.env b/php/8/.env index a6c083334..a87e8a450 100644 --- a/php/8/.env +++ b/php/8/.env @@ -3,3 +3,4 @@ CONTAINER_PACKAGE_URL= PHP_EXTENSIONS= IMAGE_NAME= TZ="Asia/Shanghai" +EXTENSION_DIR="/usr/local/lib/php/extensions/no-debug-non-zts-20230831" diff --git a/php/8/build/Dockerfile b/php/8/build/Dockerfile index 25bd48d84..01af54be1 100644 --- a/php/8/build/Dockerfile +++ b/php/8/build/Dockerfile @@ -11,8 +11,12 @@ RUN sed -i "s|URIs: http://deb.debian.org/debian|URIs: ${CONTAINER_PACKAGE_URL}/ COPY data/install-ext /usr/local/bin/ RUN chmod uga+x /usr/local/bin/install-ext +ENV PHP_INI_SCAN_DIR=/usr/local/etc/php/conf.d + RUN install-ext ${PHP_EXTENSIONS} +RUN pear config-set php_ini /usr/local/etc/php/php.ini + RUN usermod -u 1000 www-data && groupmod -g 1000 www-data ENTRYPOINT ["supervisord", "--nodaemon", "--configuration", "/etc/supervisord.conf"] diff --git a/php/8/build/data/install-ext b/php/8/build/data/install-ext index be6cc7936..88f6d9ca3 100644 --- a/php/8/build/data/install-ext +++ b/php/8/build/data/install-ext @@ -4,12 +4,10 @@ export MC="-j$(nproc)" echo echo "============================================" -echo "Install extensions from : install.sh" +echo "Install extensions from : install-ext" echo "PHP version : ${PHP_VERSION}" echo "Extra Extensions : ${PHP_EXTENSIONS}" -echo "Multicore Compilation : ${MC}" echo "Container package url : ${CONTAINER_PACKAGE_URL}" -echo "Work directory : ${PWD}" echo "============================================" echo @@ -270,9 +268,15 @@ install_extension() { fi } -echo "${PHP_EXTENSIONS}" | tr ',' '\n' | while read -r extension; do - apt-get update - install_extension $extension -done +if [ $# -eq 1 ]; then + extension=$1 + apt-get update + install_extension $extension +else + echo "${PHP_EXTENSIONS}" | tr ',' '\n' | while read -r extension; do + apt-get update + install_extension $extension + done +fi docker-php-source delete diff --git a/php/8/docker-compose.yml b/php/8/docker-compose.yml index fd33f5c71..5b6ceb7db 100644 --- a/php/8/docker-compose.yml +++ b/php/8/docker-compose.yml @@ -14,10 +14,11 @@ services: - 1panel-network volumes: - ${PANEL_WEBSITE_DIR}:/www/ - - ./conf/php.ini:/usr/local/etc/php/php.ini + - ./conf:/usr/local/etc/php + - ./conf/conf.d:/usr/local/etc/php/conf.d - ./conf/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf - ./log:/var/log/php - - ./extensions:/php/extensions + - ./extensions:${EXTENSION_DIR} - ./supervisor/supervisord.conf:/etc/supervisord.conf - ./supervisor/supervisor.d/php-fpm.ini:/etc/supervisor.d/php-fpm.ini - ./supervisor/supervisor.d:/etc/supervisor.d