| ( ! ) Fatal error: Uncaught Error: Class "Redis" not found in /var/www/AvMoz-Codebase/source-code/infrastructure/authentication/JwtTokenManager.php on line 473 |
| ( ! ) Error: Class "Redis" not found in /var/www/AvMoz-Codebase/source-code/infrastructure/authentication/JwtTokenManager.php on line 473 |
| Call Stack |
| # | Time | Memory | Function | Location |
| 1 | 0.0001 | 382008 | {main}( ) | .../index.php:0 |
| 2 | 0.0020 | 437808 | Avmoz\application\MainController->run( ) | .../index.php:97 |
| 3 | 0.0020 | 437808 | Avmoz\infrastructure\core\DIContainer->get( $id = 'Avmoz\\application\\authentication\\AutoLog' ) | .../MainController.php:88 |
| 4 | 0.0020 | 437808 | Avmoz\infrastructure\providers\AuthenticationProvider->{closure:/var/www/AvMoz-Codebase/source-code/infrastructure/providers/AuthenticationProvider.php:68-77}( $c = class Avmoz\infrastructure\core\DIContainer { private array $recipes = ['Avmoz\\infrastructure\\config\\Config' => class Closure { ... }, 'Psr\\Container\\ContainerInterface' => class Closure { ... }, 'Avmoz\\application\\http\\dispatcher\\SiteConfig' => class Closure { ... }, 'Smarty\\Smarty' => class Closure { ... }, 'League\\CommonMark\\CommonMarkConverter' => class Closure { ... }, 'Avmoz\\application\\service\\ContentProcessor' => class Closure { ... }, 'Avmoz\\application\\service\\HtmlMinifier' => class Closure { ... }, 'Avmoz\\infrastructure\\view\\ViewInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\session\\NativeSession' => class Closure { ... }, 'Avmoz\\infrastructure\\session\\SessionInterface' => class Closure { ... }, 'Avmoz\\domain\\persistence\\DatabaseInterface' => class Closure { ... }, 'Avmoz\\domain\\user\\UserRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\JwtTokenRepository' => class Closure { ... }, 'Avmoz\\application\\security\\StrikeMechanismInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\StrikeMechanism' => class Closure { ... }, 'Avmoz\\infrastructure\\authentication\\CookieSetterInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\authentication\\JwtTokenManager' => class Closure { ... }, 'Avmoz\\infrastructure\\authentication\\CookieManager' => class Closure { ... }, 'Avmoz\\application\\authentication\\AutoLog' => class Closure { ... }, 'Avmoz\\application\\http\\model\\LoginModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\CreateAccountModel' => class Closure { ... }, 'Avmoz\\application\\http\\HttpModelFactoryInterface' => class Closure { ... }, 'Avmoz\\application\\xhr\\XhrActionFactory' => class Closure { ... }, 'Avmoz\\application\\http\\dispatcher\\HttpDispatcher' => class Closure { ... }, 'Avmoz\\application\\xhr\\dispatcher\\XhrDispatcher' => class Closure { ... }, 'Avmoz\\application\\xhr\\JsonResponseBuilder' => class Closure { ... }, 'Avmoz\\infrastructure\\providers\\FormAdminController' => class Closure { ... }, 'Avmoz\\domain\\form\\FormRepositoryInterface' => class Closure { ... }, 'Avmoz\\domain\\form\\FieldRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\FieldValidationRuleRepository' => class Closure { ... }, 'Avmoz\\domain\\form\\FieldValidationRuleRepositoryInterface' => class Closure { ... }, 'Avmoz\\application\\form\\CsrfTokenManagerInterface' => class Closure { ... }, 'Avmoz\\domain\\form\\RuleRegistryInterface' => class Closure { ... }, 'Avmoz\\application\\form\\FieldsValidatorInterface' => class Closure { ... }, 'Avmoz\\application\\service\\FormManagerServiceInterface' => class Closure { ... }, 'Avmoz\\application\\service\\FieldManagerServiceInterface' => class Closure { ... }, 'Avmoz\\application\\form\\FormBuilderInterface' => class Closure { ... }, 'Avmoz\\application\\routing\\FormsRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\FormsListingModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\FieldManagerModel' => class Closure { ... }, 'Avmoz\\application\\xhr\\action\\FormSubmissionAction' => class Closure { ... }, 'Avmoz\\application\\xhr\\process\\LoginRequestProcess' => class Closure { ... }, 'Avmoz\\application\\xhr\\process\\CreateAccountRequestProcess' => class Closure { ... }, 'Avmoz\\application\\xhr\\process\\LogoutProcess' => class Closure { ... }, 'Avmoz\\application\\xhr\\action\\FieldCrudAction' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\FormManagerModel' => class Closure { ... }, 'Avmoz\\application\\http\\handler\\TemplateRenderingFailureHandler' => class Closure { ... }, 'Avmoz\\application\\http\\handler\\HttpAuthenticationFailureHandler' => class Closure { ... }, 'Avmoz\\application\\xhr\\handler\\XhrAuthenticationFailureHandler' => class Closure { ... }, 'Avmoz\\application\\http\\handler\\HttpPermissionDeniedHandler' => class Closure { ... }, 'Avmoz\\application\\xhr\\handler\\XhrPermissionDeniedHandler' => class Closure { ... }, 'Avmoz\\application\\MainController' => class Closure { ... }, 'requestUri' => class Closure { ... }, 'rawUri' => class Closure { ... }, 'Avmoz\\application\\xhr\\XhrRequestDTOFactory' => class Closure { ... }, 'Avmoz\\application\\xhr\\controller\\XhrController' => class Closure { ... }, 'Avmoz\\application\\dto\\HttpRequestDTO' => class Closure { ... }, 'Avmoz\\application\\http\\controller\\HttpController' => class Closure { ... }, 'Avmoz\\application\\http\\model\\MarkdownContentModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\ProcedureListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\IndexModel' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\MenuRepository' => class Closure { ... }, 'Avmoz\\application\\routing\\ListingsRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\ListingsListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\AdvertViewModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\CategorySectionManagerModel' => class Closure { ... }, 'Avmoz\\application\\xhr\\action\\SyncCategorySectionMatrixAction' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\PermissionsRepository' => class Closure { ... }, 'Avmoz\\domain\\permission\\PermissionsRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\RolesRepository' => class Closure { ... }, 'Avmoz\\domain\\role\\RolesRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\OrganisationsRepository' => class Closure { ... }, 'Avmoz\\domain\\organisation\\OrganisationsRepositoryInterface' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\OrganisationsListModel' => class Closure { ... }, 'Avmoz\\application\\routing\\PermissionsRouter' => class Closure { ... }, 'Avmoz\\application\\routing\\RolesRouter' => class Closure { ... }, 'Avmoz\\application\\routing\\OrganisationsRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\PermissionsListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\RolesListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\MyPermissionsModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\RolePermissionMatrixModel' => class Closure { ... }, 'Avmoz\\infrastructure\\providers\\SyncRolePermissionMatrixAction' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\ShopRepository' => class Closure { ... }, 'Avmoz\\domain\\shop\\ShopRepositoryInterface' => class Closure { ... }, 'Avmoz\\application\\routing\\ShopRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\shop\\ShopListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\shop\\ShopDetailModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\shop\\ShopProductDetailModel' => class Closure { ... }]; private array $instances = ['Avmoz\\application\\MainController' => class Avmoz\application\MainController { ... }, 'Avmoz\\infrastructure\\config\\Config' => class Avmoz\infrastructure\config\Config { ... }, 'Avmoz\\domain\\persistence\\DatabaseInterface' => class Avmoz\infrastructure\persistence\Database { ... }, 'Avmoz\\domain\\user\\UserRepositoryInterface' => class Avmoz\infrastructure\persistence\UserRepository { ... }, 'Avmoz\\infrastructure\\session\\NativeSession' => class Avmoz\infrastructure\session\NativeSession { ... }, 'Avmoz\\infrastructure\\session\\SessionInterface' => class Avmoz\infrastructure\session\NativeSession { ... }, 'Avmoz\\infrastructure\\persistence\\JwtTokenRepository' => class Avmoz\infrastructure\persistence\JwtTokenRepository { ... }] } ) | .../DIContainer.php:74 |
| 5 | 0.0035 | 483200 | Avmoz\infrastructure\core\DIContainer->get( $id = 'Avmoz\\infrastructure\\authentication\\JwtTokenManager' ) | .../AuthenticationProvider.php:72 |
| 6 | 0.0035 | 483200 | Avmoz\infrastructure\providers\AuthenticationProvider->{closure:/var/www/AvMoz-Codebase/source-code/infrastructure/providers/AuthenticationProvider.php:52-57}( $c = class Avmoz\infrastructure\core\DIContainer { private array $recipes = ['Avmoz\\infrastructure\\config\\Config' => class Closure { ... }, 'Psr\\Container\\ContainerInterface' => class Closure { ... }, 'Avmoz\\application\\http\\dispatcher\\SiteConfig' => class Closure { ... }, 'Smarty\\Smarty' => class Closure { ... }, 'League\\CommonMark\\CommonMarkConverter' => class Closure { ... }, 'Avmoz\\application\\service\\ContentProcessor' => class Closure { ... }, 'Avmoz\\application\\service\\HtmlMinifier' => class Closure { ... }, 'Avmoz\\infrastructure\\view\\ViewInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\session\\NativeSession' => class Closure { ... }, 'Avmoz\\infrastructure\\session\\SessionInterface' => class Closure { ... }, 'Avmoz\\domain\\persistence\\DatabaseInterface' => class Closure { ... }, 'Avmoz\\domain\\user\\UserRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\JwtTokenRepository' => class Closure { ... }, 'Avmoz\\application\\security\\StrikeMechanismInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\StrikeMechanism' => class Closure { ... }, 'Avmoz\\infrastructure\\authentication\\CookieSetterInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\authentication\\JwtTokenManager' => class Closure { ... }, 'Avmoz\\infrastructure\\authentication\\CookieManager' => class Closure { ... }, 'Avmoz\\application\\authentication\\AutoLog' => class Closure { ... }, 'Avmoz\\application\\http\\model\\LoginModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\CreateAccountModel' => class Closure { ... }, 'Avmoz\\application\\http\\HttpModelFactoryInterface' => class Closure { ... }, 'Avmoz\\application\\xhr\\XhrActionFactory' => class Closure { ... }, 'Avmoz\\application\\http\\dispatcher\\HttpDispatcher' => class Closure { ... }, 'Avmoz\\application\\xhr\\dispatcher\\XhrDispatcher' => class Closure { ... }, 'Avmoz\\application\\xhr\\JsonResponseBuilder' => class Closure { ... }, 'Avmoz\\infrastructure\\providers\\FormAdminController' => class Closure { ... }, 'Avmoz\\domain\\form\\FormRepositoryInterface' => class Closure { ... }, 'Avmoz\\domain\\form\\FieldRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\FieldValidationRuleRepository' => class Closure { ... }, 'Avmoz\\domain\\form\\FieldValidationRuleRepositoryInterface' => class Closure { ... }, 'Avmoz\\application\\form\\CsrfTokenManagerInterface' => class Closure { ... }, 'Avmoz\\domain\\form\\RuleRegistryInterface' => class Closure { ... }, 'Avmoz\\application\\form\\FieldsValidatorInterface' => class Closure { ... }, 'Avmoz\\application\\service\\FormManagerServiceInterface' => class Closure { ... }, 'Avmoz\\application\\service\\FieldManagerServiceInterface' => class Closure { ... }, 'Avmoz\\application\\form\\FormBuilderInterface' => class Closure { ... }, 'Avmoz\\application\\routing\\FormsRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\FormsListingModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\FieldManagerModel' => class Closure { ... }, 'Avmoz\\application\\xhr\\action\\FormSubmissionAction' => class Closure { ... }, 'Avmoz\\application\\xhr\\process\\LoginRequestProcess' => class Closure { ... }, 'Avmoz\\application\\xhr\\process\\CreateAccountRequestProcess' => class Closure { ... }, 'Avmoz\\application\\xhr\\process\\LogoutProcess' => class Closure { ... }, 'Avmoz\\application\\xhr\\action\\FieldCrudAction' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\FormManagerModel' => class Closure { ... }, 'Avmoz\\application\\http\\handler\\TemplateRenderingFailureHandler' => class Closure { ... }, 'Avmoz\\application\\http\\handler\\HttpAuthenticationFailureHandler' => class Closure { ... }, 'Avmoz\\application\\xhr\\handler\\XhrAuthenticationFailureHandler' => class Closure { ... }, 'Avmoz\\application\\http\\handler\\HttpPermissionDeniedHandler' => class Closure { ... }, 'Avmoz\\application\\xhr\\handler\\XhrPermissionDeniedHandler' => class Closure { ... }, 'Avmoz\\application\\MainController' => class Closure { ... }, 'requestUri' => class Closure { ... }, 'rawUri' => class Closure { ... }, 'Avmoz\\application\\xhr\\XhrRequestDTOFactory' => class Closure { ... }, 'Avmoz\\application\\xhr\\controller\\XhrController' => class Closure { ... }, 'Avmoz\\application\\dto\\HttpRequestDTO' => class Closure { ... }, 'Avmoz\\application\\http\\controller\\HttpController' => class Closure { ... }, 'Avmoz\\application\\http\\model\\MarkdownContentModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\ProcedureListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\IndexModel' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\MenuRepository' => class Closure { ... }, 'Avmoz\\application\\routing\\ListingsRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\ListingsListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\AdvertViewModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\CategorySectionManagerModel' => class Closure { ... }, 'Avmoz\\application\\xhr\\action\\SyncCategorySectionMatrixAction' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\PermissionsRepository' => class Closure { ... }, 'Avmoz\\domain\\permission\\PermissionsRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\RolesRepository' => class Closure { ... }, 'Avmoz\\domain\\role\\RolesRepositoryInterface' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\OrganisationsRepository' => class Closure { ... }, 'Avmoz\\domain\\organisation\\OrganisationsRepositoryInterface' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\OrganisationsListModel' => class Closure { ... }, 'Avmoz\\application\\routing\\PermissionsRouter' => class Closure { ... }, 'Avmoz\\application\\routing\\RolesRouter' => class Closure { ... }, 'Avmoz\\application\\routing\\OrganisationsRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\PermissionsListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\RolesListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\MyPermissionsModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\admin\\RolePermissionMatrixModel' => class Closure { ... }, 'Avmoz\\infrastructure\\providers\\SyncRolePermissionMatrixAction' => class Closure { ... }, 'Avmoz\\infrastructure\\persistence\\ShopRepository' => class Closure { ... }, 'Avmoz\\domain\\shop\\ShopRepositoryInterface' => class Closure { ... }, 'Avmoz\\application\\routing\\ShopRouter' => class Closure { ... }, 'Avmoz\\application\\http\\model\\shop\\ShopListModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\shop\\ShopDetailModel' => class Closure { ... }, 'Avmoz\\application\\http\\model\\shop\\ShopProductDetailModel' => class Closure { ... }]; private array $instances = ['Avmoz\\application\\MainController' => class Avmoz\application\MainController { ... }, 'Avmoz\\infrastructure\\config\\Config' => class Avmoz\infrastructure\config\Config { ... }, 'Avmoz\\domain\\persistence\\DatabaseInterface' => class Avmoz\infrastructure\persistence\Database { ... }, 'Avmoz\\domain\\user\\UserRepositoryInterface' => class Avmoz\infrastructure\persistence\UserRepository { ... }, 'Avmoz\\infrastructure\\session\\NativeSession' => class Avmoz\infrastructure\session\NativeSession { ... }, 'Avmoz\\infrastructure\\session\\SessionInterface' => class Avmoz\infrastructure\session\NativeSession { ... }, 'Avmoz\\infrastructure\\persistence\\JwtTokenRepository' => class Avmoz\infrastructure\persistence\JwtTokenRepository { ... }] } ) | .../DIContainer.php:74 |
| 7 | 0.0037 | 483544 | Avmoz\infrastructure\authentication\JwtTokenManager->__construct( $config = class Avmoz\infrastructure\config\Config { }, $tokenRepository = class Avmoz\infrastructure\persistence\JwtTokenRepository { private readonly Avmoz\domain\persistence\DatabaseInterface $db = class Avmoz\infrastructure\persistence\Database { public string|int $affected_rows = *uninitialized*; public string $client_info = *uninitialized*; public int $client_version = *uninitialized*; public int $connect_errno = *uninitialized*; public ?string $connect_error = *uninitialized*; public int $errno = *uninitialized*; public string $error = *uninitialized*; public array $error_list = *uninitialized*; public int $field_count = *uninitialized*; public string $host_info = *uninitialized*; public ?string $info = *uninitialized*; public string|int $insert_id = *uninitialized*; public string $server_info = *uninitialized*; public int $server_version = *uninitialized*; public string $sqlstate = *uninitialized*; public int $protocol_version = *uninitialized*; public int $thread_id = *uninitialized*; public int $warning_count = *uninitialized* } }, $algorithm = ??? ) | .../AuthenticationProvider.php:53 |
| 8 | 0.0037 | 483712 | Avmoz\infrastructure\authentication\JwtTokenManager->initializeRedis( ) | .../JwtTokenManager.php:81 |