नाम रिज़ॉल्यूशन में अस्थायी विफलता: होस्ट नाम लुकअप विफलता


10

मुझे PHP में एक स्क्रिप्ट मिली है जो महीनों से ठीक चल रही है। इसने हाल ही में काम करना बंद कर दिया।

यह स्क्रिप्ट मेरे ग्राहकों को एक ईमेल भेजने के लिए जीमेल से जुड़ती है।

हाल ही में, मुझे स्क्रिप्ट चलाते समय यह त्रुटि होने लगी:

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 और अन्य साइट्स से जुड़ सकता हूँ।

मैंने अपने जीमेल खाते में कोई समस्या नहीं (कोई कैप्चा भी नहीं) के साथ लॉग इन किया है।

मैं विट्स एंड पर हूं। क्या किसी के भी पास कोई सुझाव है?

जी-मैन


क्या स्क्रिप्ट हर समय विफल रही है ? या कभी-कभार ही?
मिकीबी

हर बार विफल।
जेफ्रीएफ 67

मुझे सी में लिखित मेरे डेमॉन के साथ इसी तरह के मुद्दे का सामना करना पड़ा जो आवधिक टीसीपी पुनर्कथन करता है। कुछ बिंदु पर getaddrinfo () ने अचानक त्रुटि वापस करना शुरू कर दिया। जब मैंने सर्वर को देखा, तो कोई DNS अनुरोध नहीं भेजा जा रहा था, और आवश्यक प्रविष्टि को / etc / मेजबानों में जोड़ने से मदद नहीं मिली। ज़रूर, पुनरारंभ मदद करता है लेकिन जैसा कि Xerxes ने सही उल्लेख किया है, यह वास्तविक समाधान नहीं है। शुरू में मुझे लगा कि समस्या फ्रीड्रेड्रिनोफ () कॉल के गायब होने के कारण हुई थी लेकिन मैं इसे एक परीक्षण एप्लिकेशन के साथ पुन: पेश करने में विफल रहा। वैसे भी, मैंने डेमॉन को उचित क्लीनअप कॉल जोड़े हैं और इसे बारीकी से मॉनिटर करने जा रहा हूं।
लिनुलिन 11

जवाबों:


13

PHP को / etc / मेजबान या /etc/resolv.conf तक पहुँचने में समस्या हो रही है: इस विशिष्ट त्रुटि से संबंधित PHP में एक लंबे समय से स्थायी समस्या है। फिक्स अपाचे को पुनः आरंभ करने की कोशिश है या जो कुछ भी PHP को लागू कर रहा है, या सुनिश्चित करने के लिए / etc / मेजबान और /etc/resolv.conf PHP को लागू करने के लिए पठनीय हैं।


रिस्टार्ट ने किया चाल!
ज्योफ्रीएफ ६

4
हाँ, लेकिन अगले पुनरारंभ के कितने समय पहले होने वाला है? मैं आगे देखूंगा और समस्या का मूल कारण खोजूंगा।
ज़ीरक्सा

वाह मैं एक ही मुद्दा था, लेकिन जाहिरा तौर पर सेवा httpd पुनरारंभ समाधान है ... लेकिन मैं अभी भी समझ में नहीं आता कि यह क्या कारण ...
J_Wesker

6

मैंने बस एक ही त्रुटि का अनुभव किया और

service httpd restart

चाल चली ...


2
% dig @208.67.222.222 smtp.gmail.com +short
gmail-smtp-msa.l.google.com.
209.85.201.109
209.85.201.111
%

अब, Xdebug का उपयोग करके देखें कि समस्या कहां है ...।

<?php
xdebug_start_trace('/tmp/lookup-trace.log');
$ip = gethostbyname('smtp.gmail.com');
xdebug_stop_trace();
die($IP);
?>

लॉग में कुछ भी अच्छा है?


1

उस लाइन से पहले डिबगिंग कोड जोड़ें ताकि यह सुनिश्चित हो सके कि स्क्रिप्ट इसे सही तरीके से हल कर सकती है।


0

आज मेरी यह गलती है, हालांकि यह एक विशिष्ट घटना के बाद हुई, जो मुझे लगता है कि मुझे इसका कारण मिल सकता है।

कुछ नेटवर्क उपकरण की परेशानी के कारण, मुझे वास्तव में सर्वर द्वारा रिबूट किया गया और जब यह वापस आया, तो केबल बिछाने में एक गलत नेटवर्क कनेक्शन था, जिसका प्रभावी अर्थ है कि कोई DNS सर्वर उपलब्ध नहीं था।

इस बीच इस php फ़ंक्शन को कॉल किया गया था और इसके बाद मैंने httpd को पुनः आरंभ करने तक दोबारा काम नहीं किया।

मुझे लगता है कि बग एक नेटवर्क विफलता से संबंधित हो सकता है (जहां डीएनएस न केवल उपलब्ध है, बल्कि पहुंच से बाहर है, यानी गलत सबनेट) और जब नेटवर्क बाद में इस फ़ंक्शन को ठीक करता है तो डीएनएस के लिए फिर से नहीं दिखता है।

यह थोडा कुछ साल पहले था, शायद यह बग अब PHP में तय हो गया है?


0

मैं Magento 2 को नवीनतम संस्करण में अपग्रेड करते समय निम्नलिखित समस्या हो रही थी, इसलिए मुझे संदेह है कि यह php कॉन्फ़िगरेशन के साथ समस्या है।

The "https://repo.magento.com/packages.json" file could not be downloaded: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution 
failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

कमांड के माध्यम से xampp को पुनरारंभ करके इसे हल किया।

sudo /opt/lampp/lampp/stop
sudo /opt/lampp/lampp/start

फिर composer updateकमान की कोशिश की और यह एक आकर्षण की तरह काम किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.