AJAX RSS feedreader og curl-funktioner i php
november 13th, 2007. Kategori: WebudviklingHar været ved at lave en RSS feedreader i AJAX. Opskriften er Phil Ballards fra bogen AJAX (Libris 2007).
ResponseXML is undefined
Efter en del tastearbejde løb jeg ind i det problem at “responseXML is undefined”. Et del eksperimenteren og jeg fik fejlen indsnævret til proxy.php. Proxy.php er en lille hjælpe fil, der henter RSS feeden ind på ens lokale server, inden AJAX henter RSS-feeden ind det endelige dokument. Af sikkerheds årsager kan man nemlig ikke med AJAX lave HTTPrequests til fremmede servere.
Curl-funktionen
Yderligere debugging fik fejlen snævret ind til curl-funktionen. Når jeg kørte proxy.php fik jeg følgende fejl: “Fatal error: Call to undefined function curl_init() ”
En masse ressearch på blandt andet php.net medførte ikke andet end bekræftigelse af at syntaksen var rigtig. Så først efter lang tids søgning fandt jeg en omtale at løsningen kunne ligge i serverens php.ini fil.
Ved først at køre scriptet:
<?php
php.info();
?>
på sin server og så leder efter informationer om curl, kan man se om serveren understøtter denne funktion. Hvis curl er understøttet vil den være listet her.
Aktivér php_curl.dll
Hvis ikke, skal man på windows baserede systemer fjerne kommenteringen i php.ini fra følgende linie: extension=php_curl.dll for at aktivere den.
For en løsning på linux/unix systemer se her: Programmingtalk.com