1

J'utilise le package d'intervention de laravel pour télécharger des images et j'ai créé un serveur de transfert d'hôte virtuel sur lequel j'ai hébergé mon projet. L'intervention fonctionne correctement lorsque je l'utilise sur une machine locale avec hôte virtuel.file_get_contents(): php_network_getaddresses: getaddrinfo échoué: aucun hôte de ce type n'est connu

Je reçois ci-dessous erreur:

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

Ce qui est en dessous du code dans \ fournisseur \ 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.")." 
    ); 
} 

Je pense que file_get_content donne problème lorsque nous travaillons sur l'hôte virtuel. J'ai référé ce Question mais je n'ai pas eu de solution.

+1

Cela ressemble à un problème de DNS. Voulez-vous s'il vous plaît essayer de passer l'URL comme une adresse IP au lieu d'un nom de serveur. Si cela fonctionne, il s'agira sûrement d'un problème de DNS et nous travaillerons à résoudre ce problème. –

+0

@EddeAlmeida Il a travaillé avec IP. Ne fonctionne pas avec le faux nom de domaine de l'hôte virtuel. – Simer

+0

Ensuite, nous avons un problème de DNS, comme je l'ai déjà dit. Quel système opérationnel utilisez-vous? –

Répondre

1

Si file_get_contents fonctionne lorsque vous utilisez des adresses IP mais pas lorsque vous utilisez des noms d'hôtes virtuels, nous avons un problème de DNS ici.

Si vous utilisiez Linux, vous devez éditer (en tant que root) le fichier /etc/hosts et y mapper les noms de vos serveurs virtuels aux adresses IP correspondantes, puis redémarrer vos serveurs DNS.

Mais vous utilisez Windows 7, alors vous devez faire de même dans le fichier C:\Windows\System32\Drivers\etc\hosts, puis redémarrez votre machine.

Si vous avez des doutes sur la façon de trouver/modifier ce fichier, veuillez lire this article here.

+0

J'ai déjà ajouté IP \t fake-name.me dans mon fichier hosts. Sur le serveur et local à la fois. Cela signifie que je devrais simplement redémarrer mon serveur pour le faire fonctionner? – Simer

+0

Utilisez-vous un serveur DNS local? –

+0

Je crois que Windows 7 en a un, mais vous devez vérifier dans vos services s'il est actif. –