Skip to content

configure native redis clustering results in error message #45566

Closed
@some0ne2

Description

@some0ne2
  • Laravel Version: 9.44.0
  • PHP Version: 8.1.12
  • Database Driver & Version: phpredis (5.3.7 installed by pecl)

Description: configure native redis clustering results in error message

Steps To Reproduce:

  1. fresh laravel 9 installation
  2. Make sure to config database.php like this:

` 'redis' => [

    'client' => env('REDIS_CLIENT', 'phpredis'),

    'options' => [
        'cluster' => env('REDIS_CLUSTER', 'redis'),
    ],

    'clusters' => [
        'default' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'username' => env('REDIS_USERNAME'),
            'password' => env('REDIS_PASSWORD'),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_DB', '0'),
        ],

        'cache' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'username' => env('REDIS_USERNAME'),
            'password' => env('REDIS_PASSWORD'),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_CACHE_DB', '0'),
        ],
        'session' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'username' => env('REDIS_USERNAME'),
            'password' => env('REDIS_PASSWORD'),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_CACHE_DB', '0'),
            'prefix'    => 's:'
        ],

    ],
],`
  1. Env values (only relevant, skipped queue details f.e.):

    • REDIS_HOST=redis-node-5
    • SESSION_DRIVER=redis
    • SESSION_CONNECTION=session
  2. Run redis cluster (docker-compose.yaml)

I'm revceiving the following error message when trying to call default laravel mainpage

array_key_exists(): Argument #2 ($array) must be of type array, null given

Same goes for queue worker (on startup), including more readable details:

root@36f9e34e9915:/var/www/html# php artisan queue:Work INFO Processing jobs from the [{default}] queue. [2023-01-09 10:18:34] local.ERROR: array_key_exists(): Argument #2 ($array) must be of type array, null given {"exception":"[object] (TypeError(code: 0): array_key_exists(): Argument #2 ($array) must be of type array, null given at /var/www/html/vendor/laravel/framework/src/Illuminate/Collections/Arr.php:177) [stacktrace] #0 /var/www/html/vendor/laravel/framework/src/Illuminate/Collections/Arr.php(177): array_key_exists('url', NULL) #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Collections/Arr.php(275): Illuminate\\Support\\Arr::exists(NULL, 'url') #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Collections/Arr.php(599): Illuminate\\Support\\Arr::forget(NULL, Array) #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/ConfigurationUrlParser.php(36): Illuminate\\Support\\Arr::pull(NULL, 'url') #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(186): Illuminate\\Support\\ConfigurationUrlParser->parseConfiguration(NULL) #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(133): Illuminate\\Redis\\RedisManager->parseConnectionConfiguration(NULL) #6 [internal function]: Illuminate\\Redis\\RedisManager->Illuminate\\Redis\\{closure}(NULL) [...redacted] "} TypeError array_key_exists(): Argument #2 ($array) must be of type array, null given at vendor/laravel/framework/src/Illuminate/Collections/Arr.php:177

Steps to

Please let me know if more information is required.
-Thanks for help and all of the work on laravel.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions