PHP4 + PHP5 Gleichzeitig laufen lassen?

onegroup

Well-Known Member
Hallo, hat jemand von euch php4 + php5 gleichzeit auf dem Apache am laufen?

Wie kriege ich das am besten über die Ports hin und was müsste ich den an der httpd.conf ändern?


Gruß

Steffen
 
Die Frage kam schon n+1 mal.
Ja, ich habe php4 und php5 am Laufen.

Du installierst eines der beiden als CGI, das andere als Modul.
Oder beides als CGI.

Was du an der httpd.conf ändern mußt, steht in der PHP Dokumentation.

Gruss...

Der Indy
 
Hi,

onegroup schrieb:
Aha, naja hab php4 als modul installiert. PHP5-cgi sagt kann nicht installiert werden, da php 4 drauf ist.

Modul und CGI vertragen sich grundsätzlich nicht unter FreeBSD (ist auch bei beiden Varianten unter php4.x.x so...)

Ich denke aber, wenn Du es mit PHP5 als Modul versuchst, sollte es klappen. Du musst dann halt über die httpd.conf einestellen, bei welcher Dateiendung welche php-Version angewandt werden soll...

Viele Grüße
Rüdiger
 
theearth2001 schrieb:
Hi,



Modul und CGI vertragen sich grundsätzlich nicht unter FreeBSD (ist auch bei beiden Varianten unter php4.x.x so...)

Ich denke aber, wenn Du es mit PHP5 als Modul versuchst, sollte es klappen. Du musst dann halt über die httpd.conf einestellen, bei welcher Dateiendung welche php-Version angewandt werden soll...

Viele Grüße
Rüdiger

Hallo,

grad probiert:

===> Installing for mod_php5-5.0.1,1

===> mod_php5-5.0.1,1 conflicts with installed package(s):
mod_php4-4.3.8_2,1

They install files into the same place.
Please remove them first with pkg_delete(1).


Was nun? Soll ich den mal PHP 4 deinstallieren. Dann PHP 5 als cgi installieren. woanders hin kopieren und dann php4 als Modul?

Wie machen es den die Provider? Ich könnte es natürlich auch per Hand installieren aber wozu gibts die Ports?

Gruß

Steffen
 
Halloa

Bin auch schon am rumprobieren, allerdings bisher ohne Erfolg. Habe Apache und beide PHP Versionen aus den Sourcen (nicht aus den Ports) compiliert. Beide als Modul. Beide werden auch ohne Probleme von Apache zur gleichen Zeit geladen.
Apache/2.0.50 (Unix) DAV/2 PHP/4.3.9RC2 PHP/5.0.1 Server at localhost Port 80
Nur das Problem ist, wie bringe ich Apache bei, je nach Dateiendung die jeweilige PHP Version zu nutzen?
Bisher (also nur mit PHP4)hatte ich in der httpd.conf folgendes stehen:

Code:
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php

Nun wo noch PHP5 hinzugekommen ist, fällt es Apache irgendwie schwer sich zwischen einer der beiden Versionen zu entscheiden.

Code:
LoadModule php4_module modules/libphp4.so
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php

Resultat ist, dass garkein PHP von beiden Funktioniert. Erst nachdem ich ein "LoadModule" entfernt habe, funktioniert PHP wieder.

Irgendwie müsste man "AddType" sagen, dass es für beide Versionen einen Type gibt... Oder so ähnlich :-)
 
Beide Module im Apache is nicht, weil PHP4 und PHP5 für den Apache nicht unterscheidbar sind.
Lösung: Da CGI zu langsam ist, muß ein transparenter Proxy her.
Ein Apache mit PHP 4 läuft auf Port 80. Ein zweiter z.B. auf Port 8080.
Jetzt gibt es verschiedene Möglichkeiten zu unterscheiden.
Einmal kann man alle PHP5 Dateien auf .php5 enden lassen und leitet die Anfragen an
den anderen Apache, oder man regelt es einfach mit verschiedenen Verzeichnissen.
Funktioniert wunderbar.

Gruss...

Der Indy
 
Gute Idee... Zumindest wenn man ständig am coden ist und auf beide Versionen angewiesen ist. Im professionellen Serverbetrieb ist das wohl eher eine Notlösung.

Eigentlich ist es ja eh Quatsch, beide Versionen laufen zu lassen, da PHP5 problemlos rückwärtskompatiebel ist auf Version 4.
 
indy schrieb:
Beide Module im Apache is nicht, weil PHP4 und PHP5 für den Apache nicht unterscheidbar sind.
Lösung: Da CGI zu langsam ist, muß ein transparenter Proxy her.
Ein Apache mit PHP 4 läuft auf Port 80. Ein zweiter z.B. auf Port 8080.
Jetzt gibt es verschiedene Möglichkeiten zu unterscheiden.
Einmal kann man alle PHP5 Dateien auf .php5 enden lassen und leitet die Anfragen an
den anderen Apache, oder man regelt es einfach mit verschiedenen Verzeichnissen.
Funktioniert wunderbar.

Gruss...

Der Indy
Sowas hab ich noch nicht gesehen, koenen dan auch beide Apacha auf Port 80 aber mit verschiedenen ip Adressen laufen ?
 
Anja Terchova schrieb:
Sowas hab ich noch nicht gesehen, koenen dan auch beide Apacha auf Port 80 aber mit verschiedenen ip Adressen laufen ?


Es finden sich irgendwie keinerlei Infos unter google. Mir würde es ja schon reichen wenn php5 als CGI läuft. Habs auch hingekriegt, nur wo sage ich Ihm das er eine andere php.ini nehmen soll?
 
Zurück
Oben