Niels Gamborgs online notesbog

AJAX RSS feedreader og curl-funktioner i php

november 13th, 2007. Kategori: Webudvikling

Har 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

Skriv en kommentar