çözmek için 15s alarak cURL ve herhangi cURL isteği sürekli çalışmasına 15s alır:PHP sürekli DNS ben MacOS X altında bir CentOS sanal makine üzerinde PHP çalıştırıyorum
$c = curl_init('https://graph.facebook.com');
curl_exec($c); // takes 15s to return...
echo curl_getinfo($c, CURLINFO_NAMELOOKUP_TIME); // 15.01 seconds
Ancak gethostbyname() çok hızlı:
Ve ping
adında hemen hemen adı da giderir. Varsayılan olarak
, /etc/resolv.conf
sadece içinde nameserver 192.168.1.1
vardı, bu yüzden Google DNS sunucularını kullanmak değiştirdi:
nameserver 8.8.8.8
nameserver 8.8.4.4
Ama hiç şansım. Herhangi bir ipucu?
Güncelleme 1: Düzeltmeler aşağıdaki sorun: Yani bildiğim kadarıyla anladığım kadarıyla
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
, bir zaman aşımından sonra, IPv4 ve IPv6 ve IPv6 çözünürlük hem çözümlemeye başarısız çalışıyor 15'li.
Linux makinesinde yanlış yapılandırma nedeniyle mi?
Güncelleme 2:
dig graph.facebook.com aaaa
;; reply from unexpected source: 10.0.2.2#53, expected 192.168.1.1#53
;; reply from unexpected source: 10.0.2.2#60944, expected 192.168.1.1#53
;; reply from unexpected source: 10.0.2.2#53, expected 192.168.1.1#53
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> graph.facebook.com aaaa
;; global options: +cmd
;; connection timed out; no servers could be reached
Eğer ('https://66.220.152.19') 'curl_init yaparsak ne kadar sürer;' –
bir paket yakalama yapmak ve bu cURL doğru bu bildiriyor doğrulayabilir misiniz? – Barmar
@Alex IP adresiyle denedim ve çok hızlı. 'CURLINFO_NAMELOOKUP_TIME' tarafından vurgulandığı gibi kesinlikle bir DNS sorunu. – Benjamin