file_get_contents():php_network_getaddresses:getaddrinfo失败:未知此类主机

file_get_contents():php_network_getaddresses:getaddrinfo失败:未知此类主机,php,laravel-5.2,virtualhost,file-get-contents,intervention,Php,Laravel 5.2,Virtualhost,File Get Contents,Intervention,我正在使用laravel的干预包上传图像,我已经创建了一个虚拟主机暂存服务器,在那里我托管了我的项目。 当我在带有虚拟主机的本地计算机上使用干预时,它工作正常 我得到以下错误: AbstractDecoder.php第64行中的ErrorException:file_get_contents(): php_网络_getaddresses:getaddrinfo失败:未知此类主机 它位于\vendor\intervention\image\src\intervention\image\Abstra

我正在使用laravel的干预包上传图像,我已经创建了一个虚拟主机暂存服务器,在那里我托管了我的项目。 当我在带有虚拟主机的本地计算机上使用干预时,它工作正常

我得到以下错误:

AbstractDecoder.php第64行中的ErrorException:file_get_contents(): php_网络_getaddresses:getaddrinfo失败:未知此类主机

它位于\vendor\intervention\image\src\intervention\image\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.")."
    );
}
我认为当我们在虚拟主机上工作时,文件内容会带来问题。
我已经提到了这一点,但我没有得到解决方案。

如果
文件获取内容
在您使用IPs时有效,但在您使用虚拟主机名时无效,那么我们这里有一个DNS问题

如果您使用的是Linux,您应该以root用户身份编辑文件
/etc/hosts
,并将虚拟服务器的名称映射到相应的IP,然后重新启动DNS服务器

但是如果您使用的是Windows 7,则必须在文件
C:\Windows\System32\Drivers\etc\hosts
中执行相同的操作,然后重新启动计算机


如果您对如何查找/编辑此文件有疑问,请阅读。

这看起来像是DNS问题。请尝试将URL作为IP地址而不是服务器名传递。如果这样做有效,那么肯定是DNS问题,然后我们将努力解决它。@EddeAlmeida它与IP一起工作。不使用虚拟主机的假域名。然后我们有一个DNS问题,正如我前面所说的。您使用的是什么操作系统?我正在使用windows 7访问project所在的服务器和本地系统。然后,您必须编辑windows 7解析本地DNS名称的文件,并将IP映射到相应的虚拟服务器。请阅读:我已经在我的主机文件中添加了IP fake-name.me。在服务器和本地服务器上。这意味着我应该重新启动我的服务器使其工作?你使用本地DNS服务器吗?我相信Windows 7有一个,但你必须检查你的服务是否处于活动状态。