Heim >Backend-Entwicklung >PHP-Tutorial >Warum kann „file_get_contents()' externe URLs auf diesem Server nicht abrufen?
Problem:
Bei Verwendung der PHP-Funktion file_get_contents() zum Abrufen den Inhalt einer externen URL auf einem bestimmten Server, wird ein leeres Ergebnis zurückgegeben. Die Funktion funktioniert jedoch ordnungsgemäß, wenn sie lokal verwendet wird oder auf interne URLs auf demselben Server zugreift.
Mögliche Ursache:
Das Problem hängt wahrscheinlich mit einer PHP.ini zusammen Konfigurationseinstellung.
Lösung:
Um festzustellen, welche PHP.ini-Konfiguration das verursacht Problem, folgen Sie diesen Schritten:
Überprüfen Sie die Einstellung „allow_url_fopen“: Diese Einstellung steuert, ob PHP über die fopen-Funktionsfamilie auf externe URLs zugreifen kann. Wenn es auf „Aus“ gesetzt ist, kann file_get_contents() keine Inhalte von externen URLs abrufen.
Überprüfen Sie die PHP.ini-Datei auf die folgende Zeile:
allow_url_fopen = Off
Wenn ja Stellen Sie es auf „Aus“ und ändern Sie es auf „Ein“.
Überprüfen Sie „allow_url_include“. Einstellung: Diese Einstellung steuert, ob PHP externe URLs in Skripte einbinden kann. Wenn es auf „Aus“ gesetzt ist, kann file_get_contents() möglicherweise keine Inhalte von externen URLs abrufen.
Überprüfen Sie die PHP.ini-Datei auf die folgende Zeile:
allow_url_include = Off
Wenn ja auf Aus stellen, ändern Sie es auf Ein.
Verwenden Sie eine alternative Funktion:Wenn die Wenn die oben genannten Einstellungen das Problem nicht lösen, können Sie alternative Funktionen verwenden, um das Verhalten von file_get_contents() nachzuahmen. Eine solche Funktion ist 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');
Das obige ist der detaillierte Inhalt vonWarum kann „file_get_contents()' externe URLs auf diesem Server nicht abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!