2016-03-02 65 views
-2

我們的應用程序運行多年沒有任何故障,有一天,我們決定使用redis作爲我們的緩存服務器以快速傳輸數據。 Redis在新服務器上安裝/配置,內容被緩存爲基礎業務需求。 redis服務在應用程序結束時使用。後期製作的部署,頁面開始投擲大量
警告:php_network_getaddresses的getaddrinfo失敗:產品名稱或服務/ /的/的/調用/腳本路徑不知道/文件PHP警告:php_network_getaddresses:getaddrinfo失敗:名稱或服務不知道在/ some /路徑上的行x

enter image description here

這將是什麼原因和解決方案?

回答

0

在開發和測試階段,我們使用了不同的服務器,在那裏我可以連接到redis服務器。但後期製作故障轉移,我注意到,系統無法解析地址。這是無法連接到caching.example.com

$redisServer = 'caching.example.com'; 
try { 
    $redis = new Redis(); 
    $redis->connect($redisServer, 6379); 
} catch (Exception $e) { 
    print_r($e); 
} 

這樣做的根本原因分析,我做了caching.example.com生產服務器上的主機條目和它的工作。

基本上/理論上如果您嘗試訪問遠程URL,那麼file_get_contents()是您最好的選擇。您可以提供該功能的完整URL,並使用普通的HTTP請求獲取該位置的內容。

如果您只想發送HTTP請求並忽略響應,則可以使用fsockopen()並手動發送HTTP請求標頭,而忽略任何響應。使用cURL可能會更容易,或者只是簡單的舊fopen(),它將打開連接但不一定讀取任何響應。

相關問題