php4 och php5 samtidigt i apache med subdomänerna http://php4.localhost/ etc.

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2005-06-01 14:44

Hej,

Skulle vilja ha både php4 och php5 installerat så man kan testa sina script mot båda versionerna.
Min vision är att sätta upp subdomänerna http://php4.localhost/ och http://php5.localhost/
Det borde väl inte vara några problem?

Är dock osäker på hur man sätter upp subdomäner som även ska gälla för virituella domäner. Någon som vet?

Jag brukar göra virituella domäner för alla mina pågående projekt för att adressraden ska bli kortare.
Tex blir http://localhost/~ivar/active/lokomotiv-enskede/www/ http://le/ vilket känns enklare att arbeta med.

Kan jag nu få det så http://php4.le/ och http://php5.le/ också fungerar? Vill att dessa subdomäner ska gälla alla alla domäner jag kör lokalt

Vänligen
ivar

Jag har läst nånstans... förlåt.. där du konfar Apache att använda de olika php motorerna beroende på filändelse.
Alltså: .php4 och .php5.

Funkar det för dig? I så fall kan jag försöka leta reda på guiden.

  • Medlem
  • Stockholm
  • 2005-06-01 14:54

Förstår inte riktigt...
Sökte på php5 i httpd.conf men det fanns inte med däri. Vill helst inte döpa alla mina php-script till .php4 eller .php5 heller. Stökigt att döpa om alla filerna vid övergång till den ena eller andra versionen?

Döper du filen till .php5 körs den via php5 tolken och likdant med .php4 då.
Visst det är besvärligt men jag undrar om du kan göra som du vill... hmmm vet inte om man kan lägga till sådana saker i Virtual Hosts. Det är väl bara att testa.

  • Medlem
  • Kiruna
  • 2005-06-01 15:35

För att kunna ha kvar samma filändelse men ändå använda bägge php-modulerna måste du köra två instanser av Apache, med resp. olika httpd.conf där du anger vilken php-modul som ska laddas.

Jag kör själv så, men jag har konfigurerat olika portar, den vanliga 80 för php4 och port 81 för php5, istället för att använda olika domän- eller värdnamn.

Vill jag köra php4 blir det exempelvis http://testserver/script.php och vill jag köra php5 blir det http://testserver:81/script.php.

Kom bara ihåg att även se till att de två instanserna av Apache inte använder samma pid-fil.

Jag har tittat lite på konfigurering av virtual hosts men jag kan inte se att man kan knyta en egen httpd.conf eller tillägg till httpd.conf för Virtual Hosts men jag är inte bra på detta, kan bara sätta ut Vhosts inte mer. Vi får hoppas på att någon Vhosts expert svara.

Visa mer hur du gör! Visa oss hela lösningen!

  • Medlem
  • Kiruna
  • 2005-06-01 19:47

Kortfattat:

Jag duplicerade httpd.conf. De direktiv som behövde ändras var:

PidFile, Port, Load/AddModule, samt eventuellt även logdirektiven, men det struntade jag slarvigt nog i. Vhost-direktiven har jag i en separat fil som inkluderas från bägge konfigureringarna.

Sen gjorde jag så att jag duplicerade apachectl och ändrade parametrarna PIDFILE och HTTPD.

HTTPD kan då sättas till, i mitt fall, "/usr/sbin/httpd -f /private/etc/httpd/httpd2.conf". Man skickar alltså med en flagga som talar om var den nya konfigureringsfilen ligger.

Vill man sen att allt ska dra igång vid uppstarten får man även duplicera StartupItems (eller göra ett launchd-item om man kör Tiger...)

1
Bevaka tråden