Avatar billede rthuls Nybegynder
31. august 2003 - 16:22 Der er 13 kommentarer og
3 løsninger

apache downloader php filer

Jeg er vant til at køre PHP med IIS på min computer. Nu har jeg imidlertid installeret Apache 1.3.28. Serveren køre fint, men når jeg køre en php fil, prøver apache at downloade den istedet. Hvorfor kan den ikke genkende php filer?

jeg har tilføjet følgende til httpd.conf:
LoadModule php4_module c:/program files/php/sapi/php4apache.dll
AddType application/x-httpd-php .php
Avatar billede gonza.dk Nybegynder
31. august 2003 - 16:24 #1
har du husket at genstarte?
Avatar billede smolle Nybegynder
31. august 2003 - 16:25 #2
Jeg har selv stillet præcis samme spørgsmål for bare et par dage siden. Jeg havde det samme problem og havde gjort det samme som dig. Løsningen for mig var at genstarte...
Avatar billede rthuls Nybegynder
31. august 2003 - 16:41 #3
Nej, jeg havde ikke genstartet. Det har jeg nu, men når jeg prøver at starte serveren brokker den sig over linen:
LoadModule php4_module c:/program files/php/sapi/php4apache.dll

Med denne fejlmeddelse:
LoadModule takes to arguments, a module name and the name of a shared object file to load it from
Avatar billede jakoba Nybegynder
31. august 2003 - 16:48 #4
udover
    AddType application/x-httpd-php4 .php

bør du have:
    Addhandler application/x-httpd-php4 .php
    Action application/x-httpd-php4 /php4/php.exe

eller noget der ligner for at fortælle serveren at filer der har extension .php skal sendes igennem php.exe.

der jeg har stien  /php4/php.exe  skal du naturligvis have din sti.
Avatar billede rthuls Nybegynder
31. august 2003 - 16:52 #5
Nu ser de sidste linier i httpd.conf sådan her ud:

LoadModule php4_module /program files/php/sapi/php4apache.dll
AddType application/x-httpd-php .php
Addhandler application/x-httpd-php4 .php
Action application/x-httpd-php4 /program files/php/php.exe

, men jeg får stadig den samme fejl
Avatar billede jakoba Nybegynder
31. august 2003 - 16:57 #6
det kunne være du blot mangler c: i din action linie:
  Action application/x-httpd-php4 c:/program files/php/php.exe

men jeg er lidt bekumret over at du har den i mappen 'program files' mellemrum i fil & mappenavne er som regel noget bæ. Måske (men det er gæt) du kan sætte anførselstegn om for at understrege at det er een parameter
  Action application/x-httpd-php4 "c:/program files/php/php.exe"
(det virker i DOS, men om det virker for apache ved jeg ikke)
Avatar billede gonza.dk Nybegynder
31. august 2003 - 16:58 #7
jeg mener bestemt at fiffet med "" virker...
Avatar billede rthuls Nybegynder
31. august 2003 - 17:05 #8
Anførselstegnene gjorde da et eller andet, nu får jeg denne besked istedet:

Cannot load c:/program files/php/sapi/php4apache.dll into server (126) The specified module could not be found

Kan det være på grund af mellemrummet i mappe navnet, at den ikke kan finde modulet? Adressen er god nok og filer ligger der.
Avatar billede sukos Juniormester
31. august 2003 - 17:09 #9
Nu er det vel zip-filen med PHP du har hentet?
Hvis ikke, kan du ikke bruge PHP som LoadModule, og skal bruge:

ScriptAlias /php/ "C:/Program Files/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

Men har du hentet zippen, kan du jo godt bruge LoadModule! :O)

LoadModule php4_module "C:/Program Files/php/sapi/php4apache.dll"
AddType application/x-httpd-php .php

Men husk at lægge en kopi af php4apache.dll samt php4ts.dll i dit windir, sædvanligvis c:\windows

Genstart, og du skulle gerne være kørende.
Avatar billede sukos Juniormester
31. august 2003 - 17:11 #10
hæhæ, det er vist ikke nødvendigt at kopiere apache4.dll over i dit windir!
Avatar billede rthuls Nybegynder
31. august 2003 - 17:37 #11
Det virker med selv om jeg har brugt zip-filen:

ScriptAlias /php/ "C:/Program Files/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"


Lige et lille bonus spørgsmål, før jeg begynder at dele point ud til højre og venstre. Når jeg skriver http://localhost/ lister den filerne i mappen, hvordan sætter man den til at checke for index/main/default.php sider?
Avatar billede sukos Juniormester
31. august 2003 - 17:51 #12
Led/søg efter "DirectoryIndex" i din httpd.conf, og tilføj her de filnavne du vil bruge som indexfiler, med et mellemrum mellem hvert navn.

Og du skal lige vide, at LoadModule er bedre/hurtigere end ScriptAlias
Der er nogle ting du ikke kan, hvis ikke PHP afvikles som LoadModule
Avatar billede rthuls Nybegynder
31. august 2003 - 18:01 #13
Ok tak! Har du en ide om hvorfor at jeg ikke kan få LoadModule til at virke?
Avatar billede sukos Juniormester
31. august 2003 - 18:05 #14
Har du kopieret php4ts.dll til dit windir?

Men ellers, så har det været opppe og vende et par gange her på eksperten, at der var problemer med at bruge LoadModule. Og jeg ved desværre ikke hvorfor?
Virker fint nok på min egen maskine derhjemme, med Apache 1.3.28 og PHP 4.3.3

Og ellers som jakoba skriver, så brug hellere stier UDEN mellemrum.
Avatar billede rthuls Nybegynder
31. august 2003 - 18:47 #15
Ahh, det var lige den med php4ts.dll jeg havde overset. Nu virker LoadModule som det skal.
Mange gange tak for hjælpen!!
Avatar billede rthuls Nybegynder
31. august 2003 - 19:13 #16
Hov, nu får jeg en fejl 400 Bad Request, når jeg prøver at køre en php fil:

Bad Request
Your browser sent a request that this server could not understand.
Invalid URI in request GET /index.php HTTP/1.1
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