file_get_contents():php_network_getaddresses:getaddrinfo failed:没有这样的主机已知

时间:2017-01-18 07:24:22

标签: php laravel-5.2 virtualhost file-get-contents intervention

我正在使用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,但我没有得到解决方案。

1 个答案:

答案 0 :(得分:1)

如果file_get_contents在您使用IP时有效,但在使用虚拟主机名时无效,那么我们在这里遇到DNS问题。

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

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

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