Umschaltung PHP 4/PHP 5

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Umschaltung PHP 4/PHP 5

Postby gswkaiser » 20. March 2008 15:37

In XAMPP kann man ja von PHP 4 auf PHP 5 umschalten, was aber wohl eine ziemliche Rekonfiguration und ein "Entweder/Oder" bedeutet.

Beim Provider "all-inkl.com" habe ich jetzt eine geniale Art und dynamische der Umschaltung kennen gelernt:

Man definiert einfach in der .htaccess des Verzeichnisses dessen PHP-Programme (und auch die in den Unterverzeichnissen) mit z.B. PHP 5 ausgeführt werden sollen

AddHandler php5-cgi .php

oder natürlich auch

AddHandler php4-cgi .php

wenn man PHP 4 verwenden will.

Dabei funktioniert es sogar, dass wenn man das "Top-Level"-Verzeichnis z.B. auf PHP 4 eingestellt hat, man für Unterverzeichnisse dennoch PHP 5 verwenden kann....

Ziemlich genial und ziemlich einfach!

Kann man XAMPP auch so konfigurieren, dass das so funktioniert?

Wenn ja: Wie???
gswkaiser
 
Posts: 10
Joined: 11. October 2006 09:27

Postby Nobbie » 20. March 2008 15:56

Wie Du schon an den Einträgen in der htaccess erkennen kannst, geht das deswegen so "genial", weil Dein Provider PHP im sog. "CGI-Mode" ausführt.

Xampp ist (wie es die meisten hier auch wollen) aber per Default so eingestellt, dass Apache PHP als Modul lädt.

Das kannst Du ändern, wie das geht, steht im Readme der PHP Installationen (wenn man es bei www.php.net herunterlädt). Wenn Du PHP auch im CGI Mode ausführen willst, dann kannst Du die gleiche Umschaltlösung wie Dein Provider einbauen.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Postby Xardas der Dunkle » 20. March 2008 19:49

Ich frage mich nur wofür?^^.
Ich bin auch bei all-inkl und bei mir steht alles auf php5 und daran will ich auch nix ändern o_Ô.

Ich finde da eher den Befehl:
Code: Select all
php_flag register_globals off

sinnvoll ;).
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Postby gswkaiser » 21. March 2008 07:14

Xardas der Dunkle wrote:Ich frage mich nur wofür?^^.


Weil einige PHP-Software (z.B. magento) PHP 5 voraussetzen, andere jedoch mit PHP 5 Probleme haben...

Daher ist die selektive Auswahl der PHP-Version sehr angenehm, da man jedem Package das geben kann, was es braucht....

Außerdem führt der all-inkl-Server PHP standardmäßig wohl als Modul aus!

Sonst könnte man z.B. die "register_globals" Flag nicht per ".htaccess" setzen, sondern müsste eine "php.ini" dafür bemühen (wie das z.B. bei 1&1 der Fall ist).
gswkaiser
 
Posts: 10
Joined: 11. October 2006 09:27

Postby Xardas der Dunkle » 21. March 2008 14:27

Klar führt er es als Module aus, da es schneller ist als die cgi-variante.
Wenn du es als cgi laufen lassen willst musst du bei all-inkl btw nur die Dateiendung auf phpx ändern =).
Das ist Beispielsweise nötig wenn du ein Programm ausführen willst, da dies bei all-inkl nur im cgi-mode funzt.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Postby Nobbie » 21. March 2008 14:47

gswkaiser wrote:Außerdem führt der all-inkl-Server PHP standardmäßig wohl als Modul aus!


Ja klar, deswegen steht auch in .htaccess dieses:

AddHandler php5-cgi.php


Wobei noch viel interessanter ist, wie man denn via .htaccess im "nachhinein" das PHP Modul austauschen will, welches bereits beim Start von Apache geladen wird. Und die .htaccess erst, wenn ein Request ausgeführt wird.

gswkaiser wrote:Sonst könnte man z.B. die "register_globals" Flag nicht per ".htaccess" setzen, sondern müsste eine "php.ini" dafür bemühen


Wann hast Du dir das ausgedacht? register_globals ist grundsätzlich änderbar als "PHP_INI_PERDIR" (siehe http://de3.php.net/manual/de/ini.php#ini.list), das hat mit Module oder CGI nichts zu tun.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 42 guests