Laravel 5 Laravel Redis php_网络_getaddresses:getaddrinfo失败:名称或服务未知[tcp://redis:6379]
服务器抛出错误可能是由于站点流量过大或redis连接丢失。 但无法找到有助于解决此错误的原因 此外,由于以下错误,服务器在英国特定时间每天凌晨4点停止 因此,任何有关这方面的帮助都会有所帮助Laravel 5 Laravel Redis php_网络_getaddresses:getaddrinfo失败:名称或服务未知[tcp://redis:6379],laravel-5,redis,docker-container,Laravel 5,Redis,Docker Container,服务器抛出错误可能是由于站点流量过大或redis连接丢失。 但无法找到有助于解决此错误的原因 此外,由于以下错误,服务器在英国特定时间每天凌晨4点停止 因此,任何有关这方面的帮助都会有所帮助 Server : Digital Ocean Frontend : React JS Backend : laravel (5.8) Used spiritix/lada-cache library for mysql cashing to manage large amount of data. Appl
Server : Digital Ocean
Frontend : React JS
Backend : laravel (5.8)
Used spiritix/lada-cache library for mysql cashing to manage large amount of data.
Application is running on Docker containers.
1) 错误:
production.ERROR:php\u network\u getaddresses:getaddrinfo失败:Name
或服务未知[tcp://redis:6379]{“异常”:“[对象]
(Predis\Connection\ConnectionException(代码:0):
php_网络_getaddresses:getaddrinfo失败:名称或服务不可用
已知的[tcp://redis:6379]在
/var/www/vendor/predis/predis/src/Connection/AbstractConnection.php:155)
2) 错误:-
Redis-加载Redis是在内存中加载数据集:
3) 错误:-
生产。错误:连接被拒绝[tcp://127.0.0.1:6379]
此错误也将停止服务器
我曾尝试在cron scheduler上重新启动docker down容器。但实际问题不在于docker容器,一些内部laravel软件包(如Predis | Ladacash)会抛出上述错误,无法找到确切的解决方案。由于您使用的是docker,因此您不应再使用IP引用您的redis服务器(docker容器)(比如说127.0.0.1)。改用容器名称 1) 运行:
docker ps
列出所有容器,然后找到redis服务器,将container name
列下的名称复制并粘贴到您的.env
文件中作为主机
2) 确保应用程序容器和redis容器位于同一网络中:
docker network ls
docker network inspect <network_name>
docker网络
docker网络检查
有点不相关,因为这可能是导致此问题的许多原因,但在我的两个案例中,我通过以下方法解决了此问题:
php artisan config:cache
并将env文件重新加载到缓存:php artisan config:clear
对于临时解决方案,我添加了cron usign shell脚本来重新启动redis docker容器。如果我在.env中添加容器名称,它将停止运行的服务器。我必须使用0.0.0.0,容器名称或127.0.0.1无效