Avatar billede tefcke Nybegynder
24. januar 2003 - 04:22 Der 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!!
Avatar billede jakoba Nybegynder
24. januar 2003 - 04:27 #1
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.

mvh JakobA
Avatar billede tefcke Nybegynder
24. januar 2003 - 04:30 #2
Tak for det!

Så mangler jeg bare et svar på mit primær spørgsmål ;)
Avatar billede htm Nybegynder
24. januar 2003 - 09:04 #3
Kører din server i safemode? tjek i din php.ini

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
Avatar billede tefcke Nybegynder
24. januar 2003 - 13:32 #4
Nej, den kører ikke i safemode, og det først jeg ændrede da jeg fik fejlmeddellelsen, var at jeg satte register_globals til On.
Avatar billede sukos Juniormester
24. januar 2003 - 14:53 #5
Bruger du PHP som LoadModule?

Så prøv med:
#Eller hvor du nu har PHP liggende
ScriptAlias /php/ "C:/Apache/php/"

AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

Eller hent nyeste Apache 1.3.* i stedet!

Har "hørt" om nogen som siger at Apache 2.*.* funker fint med PHP som LoadModule men har ikke selv prøvet det!
Avatar billede jakoba Nybegynder
24. januar 2003 - 14:59 #6
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.
Avatar billede jakoba Nybegynder
24. januar 2003 - 15:04 #7
den fejlmelding du får: "HTTP request failed! HTTP/1.1 403 Forbidden" betyder at der blev sendt en request, og at remote-serveren nægtede dig adgang.
Avatar billede tefcke Nybegynder
24. januar 2003 - 15:18 #8
@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 ;)
Avatar billede tefcke Nybegynder
24. januar 2003 - 15:32 #9
Det ændrede absolut intet at køre det som cgi binary istedet for som modul.

Er der en setting i enten php.ini eller httpd.conf som har at gøre med requests?
Avatar billede miraculix Nybegynder
24. januar 2003 - 16:10 #10
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.
Avatar billede tefcke Nybegynder
24. januar 2003 - 16:25 #11
@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!
Avatar billede miraculix Nybegynder
24. januar 2003 - 16:33 #12
Ja, men hvis nu der er kommet adgangskontrol på siden, og du ikke har opdaget det, så kan du finde ud af det ved at kigge med en browser...
Avatar billede tefcke Nybegynder
24. januar 2003 - 16:46 #13
I løbet af den time det tog mig at sætte det nye server software op?

Desuden er det generelt at jeg ikke kan hente remote sider med implode("", file($URL)), og ikke kun specifikke!

Så jeg er overbevist om at problemet ligger hos mig!
Avatar billede miraculix Nybegynder
24. januar 2003 - 16:50 #14
Nå ja, det var jo ikke til at vide hvor længe du havde været nede, det var bare et forslag til et (meget simpelt og hurtigt) debugging-skridt.
Avatar billede tefcke Nybegynder
25. januar 2003 - 18:45 #15
Yeps, så har jeg løst det.

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 ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester