2017-01-18 132 views
1

我正在使用laravel的干預包上傳圖像,並且我創建了一個虛擬主機登臺服務器,在那裏我託管了我的項目。 當我在具有虛擬主機的本地機器上使用它時,干預工作正常。file_get_contents():php_network_getaddresses:getaddrinfo失敗:沒有這樣的主機是已知的

我得到以下錯誤:

ErrorException in AbstractDecoder.php line 64: file_get_contents(): php_network_getaddresses: getaddrinfo failed: No such host is known.

這是在下面的代碼在\供應商\干預\圖像的\ src \干預\圖片\ AbstractDecoder.php

/** 
* Init from fiven URL 
* 
* @param string $url 
* @return \Intervention\Image\Image 
*/ 
public function initFromUrl($url) 
{ 
    if ($data = file_get_contents($url)) { 
     return $this->initFromBinary($data); 
    } 

    throw new \Intervention\Image\Exception\NotReadableException(
     "Unable to init from given url (".$url.")." 
    ); 
} 

我覺得file_get_content給我們在虛擬主機上工作時遇到問題。 我已經提到Question但我沒有得到解決方案。

+1

這看起來像一個DNS問題。您是否會嘗試將URL作爲IP地址而不是服務器名稱傳遞?如果這有效,那麼它肯定會成爲DNS問題,然後我們將努力解決該問題。 –

+0

@EddeAlmeida它使用IP。不使用虛擬主機的虛假域名。 – Simer

+0

然後我們有一個DNS問題,就像我之前所說的那樣。你使用什麼操作系統? –

回答

1

如果file_get_contents在您使用IP時起作用,但當您使用虛擬主機名時不起作用,則我們在此處有DNS問題。

如果您正在使用Linux,您應該編輯(作爲根目錄)文件/etc/hosts並將您的虛擬服務器的名稱映射到相應的IP,然後重新啓動您的DNS服務器。

但是您正在使用Windows 7,那麼您必須在文件C:\Windows\System32\Drivers\etc\hosts中執行相同操作,然後重新啓動機器。

如果您對如何查找/編輯此文件有疑問,請閱讀this article here

+0

我已在主機文件中添加IP \t fake-name.me。在服務器和本地兩個。這意味着我應該重新啓動服務器以使其工作? – Simer

+0

你使用本地DNS服務器嗎? –

+0

我相信Windows 7有一個,但是如果它是活動的,你必須檢查你的服務。 –

相關問題