Problème :
Lors de l'utilisation de la fonction PHP file_get_contents() pour récupérer le contenu d'une URL externe sur un serveur spécifique, un résultat vide est renvoyé. Cependant, la fonction fonctionne correctement lorsqu'elle est utilisée localement ou lors de l'accès à des URL internes sur le même serveur.
Cause possible :
Le problème est probablement lié à un PHP.ini paramètre de configuration.
Solution :
Pour déterminer quelle configuration PHP.ini est à l'origine du problème, suivez ces étapes :
Vérifiez le paramètre allow_url_fopen : Ce paramètre contrôle si PHP peut accéder aux URL externes via la famille de fonctions fopen. S'il est défini sur Off, file_get_contents() ne pourra pas récupérer le contenu des URL externes.
Vérifiez la ligne suivante dans le fichier PHP.ini :
allow_url_fopen = Off
Si c'est le cas réglé sur Off, changez-le en On.
Vérifiez le allow_url_include paramètre : Ce paramètre contrôle si PHP peut inclure des URL externes dans les scripts. S'il est défini sur Off, file_get_contents() ne pourra peut-être pas récupérer le contenu des URL externes.
Vérifiez la ligne suivante dans le fichier PHP.ini :
allow_url_include = Off
Si c'est le cas réglé sur Off, changez-le en On.
Utilisez une fonction alternative : Si les paramètres ci-dessus ne résout pas le problème, vous pouvez utiliser des fonctions alternatives pour imiter le comportement de file_get_contents(). Une de ces fonctions est curl_init() :
function get_content($URL){ $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $URL); $data = curl_exec($ch); curl_close($ch); return $data; } echo get_content('http://example.com');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!