Bekijk Volledige Versie : (DEBIAN) Apache2 PHP URL opvragen op de server zelf
Ik probeer dmv PHP een URL op te vragen die zich op de server zelf bevindt:
$xml = file_get_contents('http://'.$_SERVER['HTTP_HOST'].'/?id=203&type=555');
Die URL is goed (http://www.url.com/?id=203&type=555), want als ik ‘m zelf in de browser invoer krijg ik de output te zien. Ik heb het idee dat de server niet bij z’n eigen HTTP server kan/mag.
Kent iemand dit probleem?
Als ik een wget op die file uitvoer op de console van de server krijg ik een timeout.
iemand een idee?
alvast bedankt!
hrodenburg
12/08/09, 17:30
is die naam misschien opgenomen in de hosts file (en dan verwijst naar 127.0.0.1)? Of heb je een firewall regel die het tegenhoud?
Kijk eens of 'allow_url_fopen' aan staan in je php.ini.
Je fout zit in het gebruikt van je '
fout: $xml = file_get_contents('http://'.$_SERVER['HTTP_HOST'].'/?id=203&type=555');
juist: $xml = file_get_contents('http://'.$_SERVER["HTTP_HOST"].'/?id=203&type=555');
of: file_get_contents("http://".$_SERVER['HTTP_HOST']."/?id=203&type=555");
je kan trouwens ook simplexml gebruiken, dan is je xml file al direct geparsed in object/array
$xml = simplexml_load_file("http://".$_SERVER['HTTP_HOST']."/?id=203&type=555");
Je fout zit in het gebruikt van je '
fout: $xml = file_get_contents('http://'.$_SERVER['HTTP_HOST'].'/?id=203&type=555');
juist: $xml = file_get_contents('http://'.$_SERVER["HTTP_HOST"].'/?id=203&type=555');
of: file_get_contents("http://".$_SERVER['HTTP_HOST']."/?id=203&type=555");
je kan trouwens ook simplexml gebruiken, dan is je xml file al direct geparsed in object/array
$xml = simplexml_load_file("http://".$_SERVER['HTTP_HOST']."/?id=203&type=555");
????
Ik zie niet wat er fout is aan het commando dat jij als fout markeert.
Verder geeft de TS aan dat een wget op de commandline ook een timeout geeft. Ik zou het volgende checken:
netstat -l (kijken op apache niet op een specifiek IP adres luistert)
Firewall regels checken
Even een ping naar de hostname om te kijken wat voor IP er terug komt.
Het blijkt een NAT/FW issue te zijn. het ipadres wordt genat. Ik heb de url nu in de hostfile gezet met zijn interne IP adres en dan werkt het wel!
Thanks for all the help.