feat(Docker): Upgrade to PHP 8.5.0RC3 with native ext-uri support

BREAKING CHANGE: Requires PHP 8.5.0RC3

Changes:
- Update Docker base image from php:8.4-fpm to php:8.5.0RC3-fpm
- Enable ext-uri for native WHATWG URL parsing support
- Update composer.json PHP requirement from ^8.4 to ^8.5
- Add ext-uri as required extension in composer.json
- Move URL classes from Url.php85/ to Url/ directory (now compatible)
- Remove temporary PHP 8.4 compatibility workarounds

Benefits:
- Native URL parsing with Uri\WhatWg\Url class
- Better performance for URL operations
- Future-proof with latest PHP features
- Eliminates PHP version compatibility issues
This commit is contained in:
2025-10-27 09:31:28 +01:00
parent 799f74f00a
commit c8b47e647d
81 changed files with 6988 additions and 601 deletions

View File

@@ -1,5 +1,5 @@
# Dockerfile für PHP-FPM
FROM php:8.5.0RC2-fpm AS base
FROM php:8.5.0RC3-fpm AS base
# System-Abhängigkeiten: Werden selten geändert, daher ein eigener Layer
RUN apt-get update && apt-get install -y \
@@ -26,7 +26,7 @@ RUN docker-php-ext-configure gd \
--with-xpm \
&& docker-php-ext-install -j$(nproc) gd
# Install PHP extensions (opcache and sodium are already built into PHP 8.5)
# Install PHP extensions
RUN docker-php-ext-install -j$(nproc) \
zip \
pdo \
@@ -37,12 +37,15 @@ RUN docker-php-ext-install -j$(nproc) \
shmop \
bcmath
# Skip PECL extensions for PHP 8.5 RC compatibility
# RUN pecl install apcu redis \
# && docker-php-ext-enable apcu redis
# Enable ext-uri for PHP 8.5 WHATWG URL support
RUN docker-php-ext-enable uri
# 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
# Install PECL extensions
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 \