У меня есть скрипт на PHP, который отлично работает уже несколько месяцев. Недавно перестал работать.
Этот скрипт подключается к Gmail, чтобы отправить электронное письмо моим клиентам.
Недавно я начал получать эту ошибку при запуске сценария:
The SMTP connection failed to start [tls://smtp.gmail.com:465]:
fsockopen returned Error Number 0 and Error String 'php_network_getaddresses:
getaddrinfo failed: Temporary failure in name resolution'
Имейте в виду, это было с нулевыми изменениями кода.
Я посмотрел на свой resolv.conf, и он выглядит нормально:
nameserver 208.67.222.222
Я могу пинговать gmail.com:
# ping smtp.gmail.com
PING gmail-smtp-msa.l.google.com (74.125.93.111) 56(84) bytes of data.
64 bytes from qw-in-f111.google.com (74.125.93.111): icmp_seq=1 ttl=247 time=26.7 ms
Я могу подключиться через Lynx к Google и другим сайтам без проблем.
Я вошел в свою учетную запись Gmail без проблем (без каптчи там тоже).
Я в конце концов. У кого-нибудь есть идеи?
G-Man
domain-name-system
php
email
smtp
getaddrinfo
GeoffreyF67
источник
источник
Ответы:
У PHP возникают проблемы с доступом к / etc / hosts или /etc/resolv.conf: в PHP существует давняя проблема, связанная с этой конкретной ошибкой. Исправление состоит в том, чтобы попытаться перезапустить Apache или любой другой, вызывающий PHP, или убедиться, что / etc / hosts и /etc/resolv.conf читаемы тем, что вызывает PHP.
источник
Я только что испытал ту же ошибку и
сделал трюк ...
источник
Теперь попробуйте использовать Xdebug, чтобы увидеть, где именно проблема ...
Что-нибудь хорошее в журналах?
источник
Добавьте код отладки перед этой строкой, чтобы скрипт мог разрешить его правильно.
источник
У меня была эта ошибка сегодня, однако это произошло после определенного события, которое заставляет меня думать, что я, возможно, нашел причину.
Из-за некоторых проблем с сетевым оборудованием я фактически перезагрузил сервер, и когда он вернулся, в кабеле было неправильное сетевое соединение, что фактически означало, что DNS-сервер недоступен.
Тем временем эта функция php была вызвана, и после этого она никогда не работала, пока я не перезапустил httpd.
Я думаю, что ошибка может относиться к сбою сети (где DNS не только недоступен, но и недоступен, то есть неправильная подсеть), и когда сеть впоследствии восстанавливается, эта функция больше не ищет DNS.
Эта thead была несколько лет назад, может быть, эта ошибка сейчас исправлена в PHP?
источник
У меня возникла следующая проблема при обновлении magento 2 до последней версии, поэтому я подозреваю, что это проблема с конфигурацией php.
Решил это, перезапустив xampp через команду.
Затем попробовал
composer update
команду еще раз, и она сработала как шарм.источник