ok, absolute krankheit, aber hinbekommen. wenn man zu dem thema im web sucht, findet sich diverses, es wollen wohl etliche leute zwei unterschiedliche php versionen mit einem apache server laufen lassen und dabei den komfort von xampp nutzen. z.b. gleichzeitig php5 und ein altes php4 laufen zu lassen nicht kein ungewoehnlicher wunsch. leider hat fuer mich kein einziger tip aus dem web auf anhieb funktioniert. eventuell hilft dem einen oder anderen meine variante ja weiter.
ich gehe mal davon aus, dass sich der leser, zumindest ein wenig, mit den grundlagen der konfiguration von apache und php auskennt. als erstes muss man wissen, dass bei xampp die httpd.conf in mehrere dateien aufgeteilt wurde. und zwar befinden sich die weiteren dateien im verzeichnis apache/conf/extra/. ausserdem: apache kann immer nur ein php modul laden, d.h. ein weiteres php muesste zwangslaeufig als cgi geladen werden. was ich jetzt gemacht habe ist folgendes:
NameVirtualHost *:80
Options Indexes FollowSymlinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
ServerName localhost
DocumentRoot “c:/xampp/htdocs/”
LoadFile “C:/xampp/php/php5ts.dll”
LoadModule php5_module “C:/xampp/php/php5apache2_2.dll”
SetEnv PHP_PEAR_SYSCONF_DIR “\\xampp\\php”
SetEnv PHPRC “\\xampp\\php”
PHPINIDir “C:/xampp/php”
SetHandler application/x-httpd-php
LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC “c:/xampp/php4″
AddHandler fcgid-script .php
FcgidWrapper “c:/xampp/php4/php.exe” .php
ServerName domainname.dev
ServerAlias *.domainname.dev
DocumentRoot “c:/euer_php4_htdocs_pfad/”
dort muesst ihr entsprechend die pfade zu eurem xampp und zu eurer php4 installation anpassen. bei mir liegt xampp in c:\xampp\ und php4 in c:\xampp\php4\. php4 dann im xampp default folder c:\xampp\php\.
wenn ihr in die httpd-xampp.conf im extras verzeichnis seht, seht ihr dort, dass einiges bereits in der httpd-vhosts.conf steht, das kommentiert ihr per # aus.
in eure hosts datei, muesst ihr jetzt noch den domainname.dev eintragen (c:\windows\system32\drivers\etc\hosts - bei windows vista/7 muss der editor im administrator modus ausgefuehrt werden und der virus killer am besten kurz aus, sonst koennt ihr die hosts datei nicht beschreiben). dort
127.0.0.1 domainname.dev eintragen
domainname.dev kann natuerlich auch projektname.dev oder sonstwas sein. checkt ihr schon.
das ganze bewirkt folgendes:
alle anfragen an localhost gehen in das xampp htdocs root directory und laden den ganzen mist von php5. alle anfragen an domainname.dev gehen in das unter documentroot beim entsprechenden virtuellen host festgelegten pfad und laden php als cgi.
wenn ich nach der ganzen fummelei nichts uebersehen habe braucht ihr in der richtigen httpd.conf keine aenderungen vornehmen.
bei mir funktioniert’s. keine ahnung, ob das die gaengige loesung ist, ich will programmieren und nicht systemadministrator spielen. wenn also jemand eine bessere loesung hat, immer her damit.
zur hilfe: hier ist noch ein bisschen was erklaert, was mich auf den richtigen pfad gebracht hat. vielleicht hilft’s dem einen oder anderen zusaetzlich.
kleiner nachtrag: damit mysql auch fuer beide php versionen laeuft, muesst ihr in die php.ini der version 5 gucken und dort den entsprechenden port auch in die php.ini der version 4 eintragen, beim host/socket muesst ihr auch gucken. sonst kann php4 den mysql server nicht finden.
Kommentar schreiben