Dépannage de l'erreur 500 avec file_get_contents() malgré l'accès au navigateur
Lorsque vous essayez de récupérer du contenu Web à l'aide de la fonction file_get_contents() de PHP, vous pouvez rencontrer une erreur de serveur interne 500. Cependant, accéder au même site dans un navigateur Web peut ne poser aucun problème. Cette incohérence met en évidence un problème potentiel.
Pour résoudre ce problème, vous avez utilisé cURL comme approche alternative. Cependant, l'utilisation de cURL semblait produire un message d'erreur différent : "La référence d'objet n'est pas définie sur une instance d'un objet."
Une solution possible à ce problème consiste à utiliser la solution de contournement suivante :
<code class="php">$opts = array('http' => array('header' => "User-Agent:MyAgent/1.0\r\n")); $context = stream_context_create($opts); $header = file_get_contents('https://www.example.com', false, $context);</code>
Cette solution de contournement vise à simuler la requête d'un agent de navigateur en définissant un en-tête User-Agent personnalisé. Cela peut résoudre le problème si le serveur Web fait la distinction entre les requêtes du navigateur et celles du script.
Si cette solution de contournement échoue, il est possible que la configuration de votre serveur ne vous accorde pas l'accès aux ressources HTTPS. Vous devrez peut-être ajuster les paramètres de votre serveur en conséquence pour activer les requêtes HTTPS.
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!