# Dockerfile für PHP 8.4 Test-Umgebung FROM php:8.4-fpm AS test # System-Abhängigkeiten RUN apt-get update && apt-get install -y \ git \ unzip \ libzip-dev \ zip \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libwebp-dev \ libavif-dev \ libxpm-dev \ libsodium-dev \ libpq-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-configure gd \ --with-freetype \ --with-jpeg \ --with-webp \ --with-avif \ --with-xpm \ && docker-php-ext-install -j$(nproc) gd # Install PHP extensions RUN docker-php-ext-install -j$(nproc) \ zip \ pdo \ pdo_mysql \ pdo_pgsql \ pcntl \ posix \ shmop \ bcmath # Install PECL extensions (stable versions for PHP 8.4) RUN pecl install apcu redis \ && docker-php-ext-enable apcu redis RUN echo "apc.enable_cli=1" >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini \ && echo "apc.shm_size=128M" >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini # Composer installieren RUN curl -sS https://getcomposer.org/installer | php \ && mv composer.phar /usr/local/bin/composer WORKDIR /var/www/html # Kopiere PHP-Konfigurationen COPY docker/php/php.common.ini /usr/local/etc/php/php.common.ini COPY docker/php/php.development.ini /usr/local/etc/php/php.ini # Create appuser RUN groupadd -g 1000 appuser && useradd -u 1000 -g appuser -m appuser # Entrypoint COPY docker/php/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN chmod +x /usr/local/bin/docker-entrypoint.sh # Install gosu RUN apt-get update && apt-get install -y gosu && apt-get clean && rm -rf /var/lib/apt/lists/* ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] CMD ["php-fpm"]