Maison > développement back-end > tutoriel php > Pourquoi mon PHP file_get_contents() ne parvient-il pas à charger les URL externes ?

Pourquoi mon PHP file_get_contents() ne parvient-il pas à charger les URL externes ?

Susan Sarandon
Libérer: 2024-12-31 20:43:17
original
322 Les gens l'ont consulté

Why is my PHP file_get_contents() Failing to Load External URLs?

Comment activer le chargement d'URL externe pour PHP file_get_contents()

La fonction PHP file_get_contents() nous permet de récupérer le contenu d'un fichier ou d'une URL. Cependant, il arrive parfois qu'il ne parvienne pas à récupérer les URL externes, ce qui entraîne une réponse vide. Ce problème survient généralement en raison de paramètres de configuration PHP.ini spécifiques.

Enquête sur la configuration PHP.ini

Pour identifier la configuration problématique, vous pouvez vérifier les paramètres suivants :

  1. allow_url_fopen : Ce paramètre contrôle si PHP est autorisé à accéder aux URL externes. Vérifiez qu'il est défini sur « On ».
  2. file_get_contents.allow_http : Ce paramètre restreint file_get_contents() à l'accès uniquement aux URL HTTP. Assurez-vous qu'il est défini sur « On ».
  3. file_get_contents.readfile_disable : Ce paramètre désactive la capacité de file_get_contents() à accéder aux fichiers locaux sur le serveur. Si vous avez l'intention d'accéder aux URL locales et externes, définissez-le sur « Désactivé ».

Méthodes alternatives de chargement des URL externes

Si vous ajustez le PHP. ini ne résout pas le problème, vous pouvez envisager d'utiliser des méthodes alternatives pour charger des URL externes dans PHP :

  1. cURL : CURL est une bibliothèque qui fournit un moyen plus robuste d'envoyer et de récupérer des données à partir d'URL. L'extrait ci-dessous montre comment utiliser cURL pour récupérer le contenu d'une URL externe :
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');
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal