Linux: ein Apache zwei PHP-Versionen. möglich?


7

Es scheint, dass einige meiner PHP-Anwendungen PHP 5.2 und einige PHP 5.3 benötigen. Gibt es eine Möglichkeit, Apache (v2.2.14) so ​​zu konfigurieren, dass ein virtueller Host mit einer PHP-Bibliothek funktioniert und ein anderer virtueller Host einen anderen benötigt?

Derzeit ist die einzige Lösung, die ich gefunden habe, die Installation von zwei Apachen und zwei PHPS, und jeder der Apachen befindet sich an einem anderen Port.

Vielen Dank


1
Schlechtes Anwendungsdesign, wenn Benutzer eher für eine Punktversion als für eine Hauptversion codieren. Im Allgemeinen sollten Punktfreigaben keine wesentlichen Änderungen enthalten.

Haben Sie versucht, die PHP 5.2-App auf PHP 5.3 auszuführen?
Ceejayoz

1
Während Point Release KEINE bahnbrechenden Änderungen haben SOLLTE, ist die Realität, dass PHP 5.3 tatsächlich Code bricht, der perfekt auf 5.2 läuft.
John Gardeniers

1
Einige Versionen von Drupal 5.x laufen unter PHP 5.3 nicht richtig ... Danke ...
Tegbains

Antworten:


1

Wenn Sie PHP 4 und 5 verwenden würden, wäre es einfach zu manipulieren, mit welchem ​​Modul Sie verwenden möchten:

<IfModule mod_php5.c> 
<IfModule mod_php4.c> 

Es gibt also drei Möglichkeiten, um mit diesem Problem umzugehen:

  1. Beheben Sie die Probleme in den PHP-Skripten (imho der beste Weg)
  2. Ändern Sie den PHP-Quellcode so, dass er sich als "mod_php52.c", "mod_php53.c" meldet.
  3. Führen Sie es bei Bedarf als CGI aus. Überprüfen Sie es hier

Sie können auch 2 Server an verschiedenen Ports ausführen und einen Proxy verwenden


Ihr Link ist 404
Jarco

2

Ja, es ist möglich. Sie sollten den Fastcgi-Modus mit der Direktive "FcgidWrapper" in der Apache-Konfiguration verwenden. Auf diese Weise können Sie verschiedene Fastcgi-Handler-Daemons für verschiedene URL-Erweiterungen, Pfade oder sogar virtuelle Hosts definieren. Im Hintergrund kann jeder fastcgi-Daemon dann problemlos verschiedene PHP-Versionen ausführen.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.