简体   繁体   中英

Redis “Error while reading line from the server.” after Laravel 5.6 upgrade

After upgrading to Laravel 5.6 today, I'm encountering a lot of Redis errors all stating:

Error while reading line from the server. [tcp://redis.localhost:6379] {"exception":"[object] (Predis\\Connection\\ConnectionException(code: 0): Error while reading line from the server. [tcp://redis.localhost:6379] at /var/www/manage.localhost/vendor/predis/predis/src/Connection/AbstractConnection.php:155)

The application stack includes:

  • Laravel 5.6
  • Horizon 1.0.6
  • Echo 1.3.2
  • Laravel Echo Server 1.3.6

Everything was running smooth on 5.5 and all the documentation I've found doesn't seem to address this case. There is no Redis usage through the facade or out of the service container within the application, besides some Cache usage.

Has anyone else been encountering this? I've triple checked the upgrade guide as well as the GitHub release notes and nothing there has struck out as being suspect. Based on the stack trace it appears to be Horizon related.

Full Stack Trace

#0 /var/www/manage.localhost/vendor/predis/predis/src/Connection/StreamConnection.php(314): Predis\\Connection\\AbstractConnection->onConnectionError('Error while rea...')
#1 /var/www/manage.localhost/vendor/predis/predis/src/Connection/AbstractConnection.php(120): Predis\\Connection\\StreamConnection->read()
#2 /var/www/manage.localhost/vendor/predis/predis/src/Connection/AbstractConnection.php(112): Predis\\Connection\\AbstractConnection->readResponse(Object(Predis\\Command\\ListPopFirstBlocking))
#3 /var/www/manage.localhost/vendor/predis/predis/src/Client.php(331): Predis\\Connection\\AbstractConnection->executeCommand(Object(Predis\\Command\\ListPopFirstBlocking))
#4 /var/www/manage.localhost/vendor/predis/predis/src/Client.php(314): Predis\\Client->executeCommand(Object(Predis\\Command\\ListPopFirstBlocking))
#5 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php(96): Predis\\Client->__call('blpop', Array)
#6 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php(108): Illuminate\\Redis\\Connections\\Connection->command('blpop', Array)
#7 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php(230): Illuminate\\Redis\\Connections\\Connection->__call('blpop', Array)
#8 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php(213): Illuminate\\Queue\\RedisQueue->blockingPop('queues:events')
#9 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php(165): Illuminate\\Queue\\RedisQueue->retrieveNextJob('queues:events')
#10 /var/www/manage.localhost/vendor/laravel/horizon/src/RedisQueue.php(92): Illuminate\\Queue\\RedisQueue->pop('events')
#11 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(246): Laravel\\Horizon\\RedisQueue->pop('events')
#12 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(107): Illuminate\\Queue\\Worker->getNextJob(Object(Laravel\\Horizon\\RedisQueue), 'events')
#13 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(101): Illuminate\\Queue\\Worker->daemon('website_manager', 'events', Object(Illuminate\\Queue\\WorkerOptions))
#14 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(85): Illuminate\\Queue\\Console\\WorkCommand->runWorker('website_manager', 'events')
#15 [internal function]: Illuminate\\Queue\\Console\\WorkCommand->handle()
#16 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#17 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#18 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#19 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Container/Container.php(564): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#20 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Console/Command.php(183): Illuminate\\Container\\Container->call(Array)
#21 /var/www/manage.localhost/vendor/symfony/console/Command/Command.php(252): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#22 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Console/Command.php(170): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#23 /var/www/manage.localhost/vendor/symfony/console/Application.php(865): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#24 /var/www/manage.localhost/vendor/symfony/console/Application.php(241): Symfony\\Component\\Console\\Application->doRunCommand(Object(Laravel\\Horizon\\Console\\WorkCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#25 /var/www/manage.localhost/vendor/symfony/console/Application.php(143): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Console/Application.php(88): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#27 /var/www/manage.localhost/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(121): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#28 /var/www/manage.localhost/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#29 {main}

redis.default键下的config / database.php文件中添加此行(或者您拥有的连接名称)为我解决了这个问题:

'read_write_timeout' => 0,

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM