Laravel / docker -compose / redis - Класс Redis не найден - PullRequest
0 голосов
/ 16 июня 2020

Этот проект был создан другой командой, и я не могу передать эту ошибку. Используя PHP 7.2 и Laravel 6.2. Мои docker-compose.yml:

redis:
    image: redis
    command: ["redis-server", "--appendonly", "yes","--requirepass","Redis.123"]
    volumes:
      - redis-data:/data
    container_name: redis-master
    ports:
      - "6379:6379"

и database.php:

'redis' => [

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

        'options' => [
            'cluster' => env('REDIS_CLUSTER', 'redis'),
            'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
        ],

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

        'cache' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => env('REDIS_CACHE_DB', 1),
        ],

    ]

Контейнер запущен и работает и "Готов принимать соединения". Эта ошибка находится в моей трассировке стека, если я пытаюсь попасть по базовому URL-адресу или любым конечным точкам. Я присвоил redis псевдониму app.php: 'RedisManager' => Illuminate\Support\Facades\Redis::class,, как рекомендовали другие. Может ли кто-нибудь увидеть что-то очевидное, что отсутствует или может вызвать это? Predis установлен в composer.json: "predis/predis": "^1.1",, но не задан в конфиге. Если я изменил phpredis на predis, я получаю сообщение об ошибке development.ERROR: SELECT failed: NOAUTH Authentication required. [tcp://127.0.0.1:6379].

1 Ответ

1 голос
/ 16 июня 2020

Ошибка, возникающая при установке значения phpredis, скорее всего, связана с расширением phpredis. Вам необходимо установить это расширение, если вы хотите использовать клиент phpredis.

Ошибка, которую вы получаете, когда вы устанавливаете его на predis, совершенно другая. Это ошибка аутентификации, потому что вы не установили пароль. В свой файл .env добавьте это

REDIS_PASSWORD=Redis.123

Затем artisan config:clear, он может работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...