Avatar billede duck Nybegynder
14. januar 2003 - 22:20 Der er 5 kommentarer og
2 løsninger

Php og virtual hosts på apache

Hej

Jeg har konfigureret min apache 1.3 til virtual hosts og det virker fint. Hvordan skal PHP sættes op, for at virke i alle virtual hosts ?

PS: Jeg har sat PHP op til single host og det virker fint !
PPS: Jeg kører Windows 2000 Server.

/duck
Avatar billede iqzero Nybegynder
14. januar 2003 - 22:40 #1
PHP4?

Det må være noget Windows specifikt, i Linux kører det da på alle hosts. (i hvertfald på min server...)
Avatar billede josini Nybegynder
14. januar 2003 - 23:56 #2
Det kommer jo helt an på, hvordan du har sat dine virtual hosts op. Dine virtual hosts skal ligge i din document-root (som angivet i Apaches httpd.conf).
Avatar billede duck Nybegynder
15. januar 2003 - 07:25 #3
Hej

PHP4 er sat op, som CGI i apache.

Hver virtual host har jo deres egen document_root. Problemet er, at php.ini indeholder en doc_root, som skal pege på apache's document_root. Problemet er nu bare at document_root er forskellig, alt efter hvilken virtual host man kører på.

Kan doc_root indeholde mere end en path til document_root ?

/duck
Avatar billede josini Nybegynder
15. januar 2003 - 09:26 #4
Du kunne jo eventuelt prøve, at sætte doc_root til flere paths ved at adskille disse med semikolon. Eksempel: doc_root = "C:\www\users;c:\www\minegen\;c:\www\system;" - det er standard php-adskillelse af flere paths under windows. På et unix-baseret system er adskillelsestegnet et almindeligt kolon i stedet.
Avatar billede duck Nybegynder
15. januar 2003 - 10:11 #5
Nu kommer jeg jo op på mange virtual host (10+), så kan man ikke gøre det med et wildcard eller noget i den retning ?

Mine virtual hosts ligger på :

C:\Servers\WWW\www.domæne1.dk\httpdocs
C:\Servers\WWW\www.domæne2.dk\httpdocs
C:\Servers\WWW\www.domæne3.dk\httpdocs

Kunne man så ikke bare sætte doc_root til "C:\Servers\WWW" ?

/duck
Avatar billede josini Nybegynder
15. januar 2003 - 10:39 #6
Jo - det bør virke.
Avatar billede duck Nybegynder
17. januar 2003 - 11:17 #7
Hej

Jeg har selv fundet en workaround.

Når PHP'en kører, som CGI virker ovenstående fint, men ved ikke-eksisterende filer svarer serveren "No input file specified". Den burde jo have smidt en 404-side i hovedet på browseren.

Jeg prøvede så at installere PHP, som apache-modul. Så gik det pludselig meget bedre. Begge sites kunne parse korrekt og ved en ikke-eksisterende URL under domænet fik browseren en 404-side.

Løsning er altså:
- sæt PHP op som apache-modul
- PHP's doc_root skal pege på det bibliotek, hvor alle
  virtual hosts ligger som underbiblioteker.
- virtual host sættes op, som vist i apache dokumentationen.

That's all
/duck
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