diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index 2923c818..8cf65852 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -37,11 +37,10 @@ RUN docker-php-ext-install -j$(nproc) \ shmop \ bcmath -# Enable ext-uri for PHP 8.5 WHATWG URL support -RUN docker-php-ext-enable uri +# Note: ext-uri is built-in to PHP 8.5+ core, no installation needed -# Install PECL extensions -RUN pecl install apcu redis \ +# Install PECL extensions (use beta redis for PHP 8.5 compatibility) +RUN pecl install apcu redis-6.3.0RC1 \ && docker-php-ext-enable apcu redis RUN echo "apc.enable_cli=1" >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini \ diff --git a/src/Framework/Discovery/InitializerProcessor.php b/src/Framework/Discovery/InitializerProcessor.php index 389185de..5532bfdd 100644 --- a/src/Framework/Discovery/InitializerProcessor.php +++ b/src/Framework/Discovery/InitializerProcessor.php @@ -14,6 +14,7 @@ use App\Framework\DI\InitializerDependencyGraph; use App\Framework\DI\ValueObjects\DependencyGraphNode; use App\Framework\Discovery\Results\DiscoveryRegistry; use App\Framework\Logging\Logger; +use App\Framework\Logging\ValueObjects\LogContext; use App\Framework\Reflection\ReflectionProvider; /** @@ -81,9 +82,16 @@ final readonly class InitializerProcessor $dependencyGraph->addInitializer($returnType, $discoveredAttribute->className, $methodName); } } catch (\Throwable $e) { + $logger?->error( + "Failed to register initializer: {$discoveredAttribute->className->toString()}::{$methodName->toString()}", + LogContext::withExceptionAndData($e, [ + 'class' => $discoveredAttribute->className->toString(), + 'method' => $methodName->toString(), + 'return_type' => $returnType, + ]) + ); - - // Skip failed initializers + // Skip failed initializers to prevent breaking the entire application } }