26. Dezember 2023
Internal Server Error (500) bei der Verwendung von file_get_contents()
Bei vielen Hostern ist „allow_url_fopen“ standardmäßig deaktiviert, weshalb die Verwendung von „file_get_contents()“ einen „Internal Server Error (500)“ erzeugt. Das macht das Crawlen externer Websites, z.B. auch mit simplehtmldom, unmöglich.
Die Alternative hierzu lautet: cURL.
$ch = curl_init();
$url = 'https://www.BEISPIEL.de/';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if($response === false) {
echo 'cURL Error: ' . curl_error($ch);
} else {
$dom = new DOMDocument();
@$dom->loadHTML($response);
$xpath = new DOMXPath($dom);
$elements = $xpath->query('//h1');
foreach ($elements as $element) {
echo $element->nodeValue . '<br>';
}
}
curl_close($ch);
Code-Sprache: PHP (php)