Я использую predis , и он подписался на канал и слушает, он выдает ошибку и умирает, как показано ниже, ровно через 60 секунд, это, безусловно, не ошибка моего веб-сервера или его тайм-аут.
Аналогичный вопрос обсуждается здесь . Не удалось получить много из этого.
Я попытался установить тайм-аут соединения _в файле конфигурации predis на 0, но это мало помогает.
Кроме того, если я продолжаю использовать (, отправляю ему данные, и он обрабатывает )рабочего, это не дает никаких ошибок. Так что, скорее всего, где-то тайм-аут, и это тоже в связи.
Вот мой фрагмент кода, который, вероятно, выдает ошибку, потому что, если данные передаются рабочему процессу, он запускает этот код и идет вперед, что после этого не приводит к ошибке.
$pubsub = $redis->pubSub();
$pubsub->subscribe($channel1);
foreach ($pubsub as $message) { //doing stuff here and unsubscribing from channel
}
След
PHP Fatal error: Uncaught exception 'Predis\Network\ConnectionException' with message 'Error while reading line from the server' in Predis/Network/ConnectionBase.php:159 Stack trace:
#0 library/vendor/predis/lib/Predis/Network/StreamConnection.php(195): Predis\Network\ConnectionBase->onConnectionError('Error while rea...')
#1 library/vendor/predis/lib/Predis/PubSub/PubSubContext.php(259): Predis\Network\StreamConnection->read()
#2 library/vendor/predis/lib/Predis/PubSub/PubSubContext.php(206): Predis\PubSub\PubSubContext->getValue()
#3 pdf/file.php(16): Predis\PubSub\PubSubContext->current()
#4 {main} thrown in Predis/Network/ConnectionBase.php on line 159
Также проверил тайм-аут redis.conf, он также отключен.