24. januar 2003 - 04:22Der er
14 kommentarer og 1 løsning
Problemer med at læse indholdet af en URL ned i en lokal fil...
Jeg har en side fra da jeg kørte med Apache/1.3.X og PHP/4.1.1, hvor jeg læser hele indholdet af en URL ned i en temp fil, som jeg så smider noget preg efter.
Jeg har lige installeret Apache/2.0.44 og PHP/4.3.0.
Problemet er så bare at det ikke virker efter jeg har installeret de nyeste versioner.
Fejlen jeg får lyder: "failed to create stream: HTTP request failed! HTTP/1.1 403 Forbidden"
Og det er den samme fejl, om jeg bruger file_get_contents(), fopen() eller implode("", file($URL)).
Jeg har på fornemmelsen at der er et eller andet jeg har overset i min configration af enten php eller apache.
På forhånd tak!
PS: Er der ikke lige en som kan fortælle hvordan man accepterer et svar fra en bruger, på et spørgsmål!!
Når nogen har svaret kommer der nogen knapper lige over tekstfeltet plus en selectboks hvor du kan vælge hvilket eller hvilke brugeres svar du vil acceptere.
Prøv og sæt register globals til on i din php.ini! Hvis det hjælper vil jeg foreslå at du koder om så det matcher den nye kodestandard... http://dk.php.net/release_4_1_0.php
kunne det være at det er i den anden ende (på den server du prøver at hente noget fra) at problemet ligger. Remote serveren kunne fx have en referrer check der blokerer for requests fra en remote-IP den ikke kender.
@sukos: Jeg har sat php til at køre som modul da der står i install.txt til php (Now that version 4.1 introduces a safer sapi module, we recommend that you configure PHP as a module in Apache). Det eneste jeg har tilføjet i min php.ini er følgende: LoadModule php4_module C:/Programmer/Apache/PHP/sapi/php4apache2.dll AddType application/x-httpd-php .php
Jeg prøver lige at køre php som cgi binary, og skriver så lige tilbage med resultatet senerer!
@jakoba Har overvejet det, men koden virkede umiddelbart inden Apache og PHP opgraderingen, så det skulle undre mig meget at de vælger sætte en blokade op præcis samtidig med at jeg opgraderer mit server software ;)
Hvad sker der hvis du åbner siden i en browser? (altså den remote side). Det ligner en response på et uatoriseret kald af en side der er sat op med Basic Authentication.
@miraculix Siden jeg prøver at hente er en ren html side. Det jeg basalt vil, er at læse alt html koden fra en remote side ned i en fil jeg har liggende lokalt (en form for kopiering). Så hvis jeg åbner den remote side i en browser, vil den blive vist som forfatteren ville have jeg skulle se den!
Det der var galt, var en variable i min php.ini som var udkommenteret. Synderen var: user_agent, som lige blev sat til "PHP", og så funkede det!
Tak fordi jeg måtte tage lidt af jeres tid ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.