Trotz der Tatsache das PHP5 schon seit mehr als 3 Jahren Verfügbar ist, gibt es noch immer Web-Applikationen welche PHP4 voraussetzen. Für einen Kunden war es erforderlich PHP4 wegen einer solchen Software einzusetzen. Die ganze Präsenz lief Problemlos unter PHP5, und um Probleme zu vermeiden war das einbinden von PHP4 als Apache Modul, wegen der Installieren PHP 5 Version nicht möglich. Dort blieb, wegen dieser einen Applikation nur der Weg als CGI.
Durch die Interne-Struktur (Standard /srv/www/) bei diesem Server aber /var/www/ musste ebenfalls Suexec bzw. Suexec2 neu Kompiliert werden.
Ich habe das ganze einfach mal zusammengefasst. Wer Interesse daran hat und ebenfalls PHP4 neben PHP5 laufen lassen möchte kann dies Problemlos umsetzen.
Es können auch andere PHP Versionen zusätzlich Installiert werden. Wer eine Hosting-Dienstleistung betreibt kann bspw. zusätzlich die option zu jeden Kunden separat zuschalten, welche PHP Versionen er dem Kunden zur Verfügung stellen möchte, bzw. dies Global für alle Aktivieren.
Ein How-to zu suexec bzw. suexec2 kann hier nachlesen werden.
PHP 4 als CGI Installieren
Eingesetzte Distribution Opensuse 10.2
Eingesetzte PHP Version 4.4.7
Apache 2.2
Es werden Erweiterte Linux-Kenntnisse vorausgesetzt!
Das Risiko das etwas schief geht ist zu Hoch.
Es wird keine Garantie oder Gewährleistung übernommen. Der Einsatz erfolgt auf eigenem Risiko und sollte vorab auf einem Test-System ausgeführt werden!
Die derzeit Aktuellste Version von PHP4 ist 4.4.7 und kann als Source von php.net bezogen werden.
In das root verzeichnis wechseln
cd /root
Dann das Paket Downloaden
wget http://de2.php.net/get/php-4.4.7.tar.gz/from/this/mirror
Archiv entpacken
tar xfv ./php-4.4.7.tar.gz
Verzeichnis wechseln
cd php-4.4.7
Nun configure ausführen
Da ich hier von /var/www/ ausgehe, sind auch die Pfade entsprechend gesetzt. Ggf. nachbessern und korrigieren wird nicht ausbleiben.
./configure --prefix=/usr/share/php4 --datadir=/usr/share/php4 --bindir=/var/www/php4 --libdir=/usr/share/php4 --with-config-file-path=/etc/php4 --with-exec-dir=/usr/lib/php4/bin --enable-memory-limit --enable-force-cgi-redirect --enable-track-vars --with-mysql=/usr --without-pear --enable-session --without-sqlite –enable-exif
enable-force-cgi-redirect benötigen wir zum CGI damit das ganze auch als CGI lauffähig wird. Grundsätzlich ist dies eine Minimale Konfiguration, zum Testen und Probieren aber alle mal ausreichend.
Jetzt die Eingabe bestätigen und warten.
Sobald alles durchgelaufen ist und keine Fehler aufgetreten sind den Befehl
make
Ausführen Anschließend
make install
Die Dateien werden jetzt Installiert. Hier sollte man sich die Ausgabe raus kopieren um ggf. eine Deinstallation vornehmen zu können, da keine uninstall-rule vorliegt.
Nun muss man das ganze auf apache anwenden.
In einem Virtuellen Host, httpf.conf o.ä. Folgendes rein hämmern.
<directory "/var/www/php4">
AllowOverride None
Options +ExecCGI +FollowSymLinks
Order allow,deny
Allow from all
</directory>
ScriptAlias /php4cgi /var/www/php4
Action php4-cgi /php4cgi/php
AddType php4-cgi .php4
Ggf. muss man aus der Datei /etc/apache2/conf.d/php5.conf die Passagen zur Dateiendung php4 auskommentieren, damit PHP5 sich nicht davor schaltet und die Dateien parst.
Anschließend Apache neustarten
/etc/init.d/apache2 restart
Das war es eigentlich schon. Jetzt werden alle Dateien mit der Endung .php4 von PHP4 geparst.
trotz tatsache php5 schon jahren verfügbar gibt web-applikationen php4 voraussetzen kunden erforderlich solchen software einzusetzen präsenz lief problemlos probleme vermeiden einbinden apache modul installieren php version möglich dort blieb applikation weg cgi durch interne-struktur (standard /srv/www/) diesem server aber /var/www/ musste ebenfalls suexec suexec2 kompiliert ich einfach zusammengefasst interesse daran neben laufen lassen umsetzen es versionen zusätzlich installiert hosting-dienstleistung betreibt option jeden separat zuschalten verfügung global aktivieren ein how-to nachlesen php installieren eingesetzte distribution opensuse 2 eingesetzte 7 apache erweiterte linux-kenntnisse vorausgesetzt! das risiko schief hoch garantie gewährleistung übernommen einsatz erfolgt eigenem vorab test-system ausgeführt werden! die derzeit aktuellste source net bezogen in root verzeichnis wechseln cd /root dann paket downloaden wget http://de2 net/get/php-4 tar gz/from/this/mirror archiv entpacken tar xfv /php-4 gz verzeichnis php-4 7 nun configure ausführen da ausgehe pfade entsprechend gesetzt ggf nachbessern korrigieren ausbleiben /configure --prefix=/usr/share/php4 --datadir=/usr/share/php4 --bindir=/var/www/php4 --libdir=/usr/share/php4 --with-config-file-path=/etc/php4 --with-exec-dir=/usr/lib/php4/bin --enable-memory-limit --enable-force-cgi-redirect --enable-track-vars --with-mysql=/usr --without-pear --enable-session --without-sqlite ?enable-exif enable-force-cgi-redirect benötigen lauffähig grundsätzlich minimale konfiguration testen probieren ausreichend jetzt eingabe bestätigen warten sobald alles durchgelaufen fehler aufgetreten befehl make ausführen anschließend make install die dateien ausgabe raus kopieren deinstallation vornehmen uninstall-rule vorliegt nun anwenden virtuellen host httpf conf folgendes rein hämmern <directory "/var/www/php4"> allowoverride none options +execcgi +followsymlinks order allow deny allow from all </directory> scriptalias /php4cgi /var/www/php4 action php4-cgi /php4cgi/php addtype php4 ggf datei /etc/apache2/conf d/php5 passagen dateiendung auskommentieren davor schaltet parst anschließend neustarten /etc/init d/apache2 restart das eigentlich endung geparst trotz tatsache php5 schon jahren verfügbar gibt web-applikationen php4 voraussetzen kunden erforderlich solchen software einzusetzen präsenz lief problemlos probleme vermeiden einbinden apache modul installieren php version möglich dort blieb applikation weg cgi durch interne-struktur (standard /srv/www/) diesem server aber /var/www/ musste ebenfalls suexec suexec2 kompiliert ich einfach zusammengefasst interesse daran neben laufen lassen umsetzen es versionen zusätzlich installiert hosting-dienstleistung betreibt option jeden separat zuschalten verfügung global aktivieren ein how-to nachlesen php installieren eingesetzte distribution opensuse 2 eingesetzte 7 apache erweiterte linux-kenntnisse vorausgesetzt! das risiko schief hoch garantie gewährleistung übernommen einsatz erfolgt eigenem vorab test-system ausgeführt werden! die derzeit aktuellste source net bezogen in root verzeichnis wechseln cd /root dann paket downloaden wget http://de2 net/get/php-4 tar gz/from/this/mirror archiv entpacken tar xfv /php-4 gz verzeichnis php-4 7 nun configure ausführen da ausgehe pfade entsprechend gesetzt ggf nachbessern korrigieren ausbleiben /configure --prefix=/usr/share/php4 --datadir=/usr/share/php4 --bindir=/var/www/php4 --libdir=/usr/share/php4 --with-config-file-path=/etc/php4 --with-exec-dir=/usr/lib/php4/bin --enable-memory-limit --enable-force-cgi-redirect --enable-track-vars --with-mysql=/usr --without-pear --enable-session --without-sqlite ?enable-exif enable-force-cgi-redirect benötigen lauffähig grundsätzlich minimale konfiguration testen probieren ausreichend jetzt eingabe bestätigen warten sobald alles durchgelaufen fehler aufgetreten befehl make ausführen anschließend make install die dateien ausgabe raus kopieren deinstallation vornehmen uninstall-rule vorliegt nun anwenden virtuellen host httpf conf folgendes rein hämmern <directory "/var/www/php4"> allowoverride none options +execcgi +followsymlinks order allow deny allow from all </directory> scriptalias /php4cgi /var/www/php4 action php4-cgi /php4cgi/php addtype php4 ggf datei /etc/apache2/conf d/php5 passagen dateiendung auskommentieren davor schaltet parst anschließend neustarten /etc/init d/apache2 restart das eigentlich endung geparst trotz tatsache php5 schon jahren verfügbar gibt web-applikationen php4 voraussetzen kunden erforderlich solchen software einzusetzen präsenz lief problemlos probleme vermeiden einbinden apache modul installieren php version möglich dort blieb applikation weg cgi durch interne-struktur (standard /srv/www/) diesem server aber /var/www/ musste ebenfalls suexec suexec2 kompiliert ich einfach zusammengefasst interesse daran neben laufen lassen umsetzen es versionen zusätzlich installiert hosting-dienstleistung betreibt option jeden separat zuschalten verfügung global aktivieren ein how-to nachlesen php installieren eingesetzte distribution opensuse 2 eingesetzte 7 apache erweiterte linux-kenntnisse vorausgesetzt! das risiko schief hoch garantie gewährleistung übernommen einsatz erfolgt eigenem vorab test-system ausgeführt werden! die derzeit aktuellste source net bezogen in root verzeichnis wechseln cd /root dann paket downloaden wget http://de2 net/get/php-4 tar gz/from/this/mirror archiv entpacken tar xfv /php-4 gz verzeichnis php-4 7 nun configure ausführen da ausgehe pfade entsprechend gesetzt ggf nachbessern korrigieren ausbleiben /configure --prefix=/usr/share/php4 --datadir=/usr/share/php4 --bindir=/var/www/php4 --libdir=/usr/share/php4 --with-config-file-path=/etc/php4 --with-exec-dir=/usr/lib/php4/bin --enable-memory-limit --enable-force-cgi-redirect --enable-track-vars --with-mysql=/usr --without-pear --enable-session --without-sqlite ?enable-exif enable-force-cgi-redirect benötigen lauffähig grundsätzlich minimale konfiguration testen probieren ausreichend jetzt eingabe bestätigen warten sobald alles durchgelaufen fehler aufgetreten befehl make ausführen anschließend make install die dateien ausgabe raus kopieren deinstallation vornehmen uninstall-rule vorliegt nun anwenden virtuellen host httpf conf folgendes rein hämmern <directory "/var/www/php4"> allowoverride none options +execcgi +followsymlinks order allow deny allow from all </directory> scriptalias /php4cgi /var/www/php4 action php4-cgi /php4cgi/php addtype php4 ggf datei /etc/apache2/conf d/php5 passagen dateiendung auskommentieren davor schaltet parst anschließend neustarten /etc/init d/apache2 restart das eigentlich endung geparst trotz tatsache php5 schon jahren verfügbar gibt web-applikationen php4 voraussetzen kunden erforderlich solchen software einzusetzen präsenz lief problemlos probleme vermeiden einbinden apache modul installieren php version möglich dort blieb applikation weg cgi durch interne-struktur (standard /srv/www/) diesem server aber /var/www/ musste ebenfalls suexec suexec2 kompiliert ich einfach zusammengefasst interesse daran neben laufen lassen umsetzen es versionen zusätzlich installiert hosting-dienstleistung betreibt option jeden separat zuschalten verfügung global aktivieren ein how-to nachlesen php installieren eingesetzte distribution opensuse 2 eingesetzte 7 apache erweiterte linux-kenntnisse vorausgesetzt! das risiko schief hoch garantie gewährleistung übernommen einsatz erfolgt eigenem vorab test-system ausgeführt werden! die derzeit aktuellste source net bezogen in root verzeichnis wechseln cd /root dann paket downloaden wget http://de2 net/get/php-4 tar gz/from/this/mirror archiv entpacken tar xfv /php-4 gz verzeichnis php-4 7 nun configure ausführen da ausgehe pfade entsprechend gesetzt ggf nachbessern korrigieren ausbleiben /configure --prefix=/usr/share/php4 --datadir=/usr/share/php4 --bindir=/var/www/php4 --libdir=/usr/share/php4 --with-config-file-path=/etc/php4 --with-exec-dir=/usr/lib/php4/bin --enable-memory-limit --enable-force-cgi-redirect --enable-track-vars --with-mysql=/usr --without-pear --enable-session --without-sqlite ?enable-exif enable-force-cgi-redirect benötigen lauffähig grundsätzlich minimale konfiguration testen probieren ausreichend jetzt eingabe bestätigen warten sobald alles durchgelaufen fehler aufgetreten befehl make ausführen anschließend make install die dateien ausgabe raus kopieren deinstallation vornehmen uninstall-rule vorliegt nun anwenden virtuellen host httpf conf folgendes rein hämmern <directory "/var/www/php4"> allowoverride none options +execcgi +followsymlinks order allow deny allow from all </directory> scriptalias /php4cgi /var/www/php4 action php4-cgi /php4cgi/php addtype php4 ggf datei /etc/apache2/conf d/php5 passagen dateiendung auskommentieren davor schaltet parst anschließend neustarten /etc/init d/apache2 restart das eigentlich endung geparst
Der Beitrag wurde am Donnerstag, den 20. Dezember 2007 um 20:02 Uhr veröffentlicht und wurde unter Linux / Server, PHP, Tutorials abgelegt. du kannst die Kommentare zu diesen Eintrag durch den RSS 2.0 Feed verfolgen. du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.
Am 25. Februar 2008 um 05:48 Uhr
Danke! Genau das habe ich gesucht.
Funktioniert 1A