我正在使用laravel的干预包来上传图像,我已经创建了一个虚拟主机登台服务器,我已经托管了我的项目。 当我在具有虚拟主机的本地计算机上使用它时,干预工作正常。
我收到以下错误:
AbstractDecoder.php第64行中的ErrorException:file_get_contents(): php_network_getaddresses:getaddrinfo failed:没有这样的主机。
以下代码位于\ 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.")."
);
}
我认为当我们处理虚拟主机时,file_get_content会出现问题。 我已经提到了Question,但我没有得到解决方案。
答案 0 :(得分:1)
如果file_get_contents
在您使用IP时有效,但在使用虚拟主机名时无效,那么我们在这里遇到DNS问题。
如果您使用的是Linux,则应编辑(以root用户身份)文件/etc/hosts
,并将虚拟服务器的名称映射到相应的IP,然后重新启动DNS服务器。
但是您使用的是Windows 7,那么您必须在文件C:\Windows\System32\Drivers\etc\hosts
中执行相同操作,然后重新启动计算机。
如果您对如何查找/编辑此文件有疑问,请阅读this article here。