2017-03-22 21 views
0

我遇到了我們的PHP應用程序和DNS/Apache非常奇怪的問題。 連接到外部服務(如電子郵件,付款等)的PHP應用程序突然停止工作。 排除故障後,我們發現這是一個DNS問題。替換我們連接的服務器的IP地址將使應用程序正常工作。DNS停止工作的PHP - 重新啓動Apache暫時修復它

但是DNS從服務器本身工作正常。我們可以使用名稱而不是IP來ping,主機,wget等。 我在PHP創建了一個簡單的測試,以測試它是否是一個PHP的問題:

<?php 
$handle = @fopen("http://www.google.com", "r"); 
if ($handle) { 
while (($buffer = fgets($handle, 4096)) !== false) { 
    echo $buffer; 
} 
if (!feof($handle)) { 
    echo "Error: unexpected fgets() fail\n"; 
} 
fclose($handle); 
} 

這也工作得很好。 重新啓動Apache服務可以解決問題一段時間,但幾個小時後問題再次發生。 檢查syslog,apache日誌和php日誌我找不到任何可能導致它的東西。

我檢查了/etc/hosts.deny,/ etc/hosts,防火牆和/ etc/nsswitch。

我們的Apache的版本是:阿帕奇/ 2.4.7 我們用PHP 5.5.9

的東西可能會造成DNS停止對PHP/Apache的工作任何想法?

謝謝您的幫助

+0

[什麼操作系統?](https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1674532)有最近的一些問題與Ubuntu的錯誤影響到PHP的DNS查詢,這似乎是workroundable與apache重啓 –

+0

嗨馬克,操作系統是Ubuntu 14.04.1。我會檢查你在那裏發佈的鏈接!由於 – Adonist

+0

[其他錯誤報告(https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1674733) –

回答

0

的問題是與2.19-0ubuntu6.10版本的libc斌

他們relased較新的版本:

eglibc (2.19-0ubuntu6.11) trusty-security; urgency=medium 

     * REGRESSION UPDATE: Previous update introduced ABI breakage in 
     internal glibc query ABI 
     - Back out patches/any/CVE-2015-5180-regression.diff 
      (LP: #1674532) 

-- Steve Beattie <[email protected]> Tue, 21 Mar 2017 03:28:13 -0700 

這應該解決您的問題

+0

這裏是Ubuntu的安全注意事項:https://www.ubuntu.com/usn/usn -3239-2 /和Launchpad錯誤:https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1674532 – user

+0

謝謝,這真的幫助我! – Adonist

相關問題