IP-Projects.de
Active Member
Guten Morgen,
es ist jetzt nach 1 Uhr und ich habe ca. 2 Stunden damit verbracht, auf einer Standard Debian Squeeze Installation PHP 5.2 parallel zu PHP 5.3 zu konfigurieren. Die Lösung ist denkbar einfach, der Weg auf der Suche nach einer optimalen Lösung allerdings steinig.
Im Internet gibt es eine Vielzahl von Lösungsansätzen, doch dieser erschien uns für unser Vorhaben der denkbar beste Weg ohne, dass wir massiv in die Systemstrukturen von Debian Squeeze eingreifen müssen. Das Tutorial ist teilweise angelehnt an die Vorgehensweise von http://blog.davejamesmiller.com/2011/03/how-to-install-php-5-2-fastcgi-on-debian-6-0-squeeze, wir haben uns allerdings erlaubt einige Ergänzungen durchzuführen gerade was die benötigten PHP Erweiterungen und Debian Installationspakete angeht.
Da es auch Heute noch Scripte gibt, die nicht unter PHP 5.3 betrieben werden können, möchte ich dieses kleine Tutorial als Lösung vorstellen für Internetnutzer, die auch bei Debian Squeeze in Zeiten von PHP 5.3 nicht auf die alten PHP 5.2 Scripte verzichten wollen.
Wir gehen bei diesem Tutorial davon aus, dass bereits eine Standardinstallation von ISPCP auf Debian Squeeze (Debian 6) durchgeführt wurde, da sich dieses Tutorial nicht mit der Installation von ISPCP, sondern ausschließlich mit der Konfiguration von PHP 5.2 parallel zu PHP 5.3 beschäftigt.
1. Installation der Grundvoraussetzungen zum Kompilieren von PHP 5.2
Als erstes müssen wir einige Development Systempakete ergänzen, um eine saubere Installation von PHP 5.2 durchführen zu können.
2. Kompilierung von PHP 5.2.17
Nachfolgende Kommandos ausführen um PHP 5.2.17 zu Kompilieren:
Jetzt legen wir die compile Informationen ab:
In die Datei compile folgende Informationen einfügen:
Anschließend speichern und schreibrechte setzen
Jetzt das configure Script ausführen
Nach der erfolgreichen Erstellung der Konfigurationsdateien fehlt nur noch
zuletzt noch die Schreibrechte anpassen:
Gratulation, die Grundlage für den Einsatz von PHP 5.2 ist geschaffen.
3. Einbinden von PHP 5.2 in ISPCP
Bei ISPCP ist der FCGI Wrapper für jede Domain individuell konfiguriert. Man hat so die Möglichkeit verschiedenste PHP Versionen nur für bestimmte Webhostingpakete einzurichten.
Die jeweiligen PHP Wrapper findet man unter
Diese Datei öffnen wir, in diesem Fall für die Domain test.de, im Editor:
Am Ende der Datei findet man jetzt einen Eintrag der wie Folgt aussieht:
Dieser besagt, dass die Standard PHP 5.3 Installation als PHP Version genutzt werden soll. Die Zeile wird demnach auskommentiert und durch
ersetzt. Das Endergebnis sieht dann wie Folgt aus:
Nach dem bearbeiten noch ein kurzer Apache Neustart
Und die Änderung wird aktiv.
Mit Hilfe dieser kleinen Zeile kann binnen wenigen Sekunden zwischen PHP 5.3 und PHP 5.2 gewechselt werden.
4. Vorher / Nachher
Den Vorher / Nachher Vergleich finden Sie in unserem Forum unter - https://www.ip-projects.de/forum/viewtopic.php?f=19&t=92
es ist jetzt nach 1 Uhr und ich habe ca. 2 Stunden damit verbracht, auf einer Standard Debian Squeeze Installation PHP 5.2 parallel zu PHP 5.3 zu konfigurieren. Die Lösung ist denkbar einfach, der Weg auf der Suche nach einer optimalen Lösung allerdings steinig.
Im Internet gibt es eine Vielzahl von Lösungsansätzen, doch dieser erschien uns für unser Vorhaben der denkbar beste Weg ohne, dass wir massiv in die Systemstrukturen von Debian Squeeze eingreifen müssen. Das Tutorial ist teilweise angelehnt an die Vorgehensweise von http://blog.davejamesmiller.com/2011/03/how-to-install-php-5-2-fastcgi-on-debian-6-0-squeeze, wir haben uns allerdings erlaubt einige Ergänzungen durchzuführen gerade was die benötigten PHP Erweiterungen und Debian Installationspakete angeht.
Da es auch Heute noch Scripte gibt, die nicht unter PHP 5.3 betrieben werden können, möchte ich dieses kleine Tutorial als Lösung vorstellen für Internetnutzer, die auch bei Debian Squeeze in Zeiten von PHP 5.3 nicht auf die alten PHP 5.2 Scripte verzichten wollen.
Wir gehen bei diesem Tutorial davon aus, dass bereits eine Standardinstallation von ISPCP auf Debian Squeeze (Debian 6) durchgeführt wurde, da sich dieses Tutorial nicht mit der Installation von ISPCP, sondern ausschließlich mit der Konfiguration von PHP 5.2 parallel zu PHP 5.3 beschäftigt.
1. Installation der Grundvoraussetzungen zum Kompilieren von PHP 5.2
Als erstes müssen wir einige Development Systempakete ergänzen, um eine saubere Installation von PHP 5.2 durchführen zu können.
Code:
apt-get install libfcgi-dev libmhash-dev libxml2-dev libcurl3-dev libmysqlclient15-dev libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev libxslt1-dev libxslt1.1 libbz2-dev
2. Kompilierung von PHP 5.2.17
Nachfolgende Kommandos ausführen um PHP 5.2.17 zu Kompilieren:
Code:
mkdir ~/php5-build
cd ~/php5-build
wget http://uk3.php.net/get/php-5.2.17.tar.bz2/from/this/mirror -O php-5.2.17.tar.bz2
tar jxf php-5.2.17.tar.bz2
rm -R php-5.2.17.tar.bz2
cd php-5.2.17/
Jetzt legen wir die compile Informationen ab:
Code:
nano compile
In die Datei compile folgende Informationen einfügen:
Code:
./configure \
--prefix=/opt/php52 \
--enable-force-cgi-redirect \
--enable-fastcgi \
--with-regex=php \
--enable-calendar \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-bcmath \
--with-bz2 \
--enable-ctype \
--with-iconv \
--enable-exif \
--enable-ftp \
--with-gettext \
--enable-mbstring \
--with-pcre-regex \
--enable-shmop \
--enable-sockets \
--enable-wddx \
--with-libxml-dir=/usr \
--with-zlib \
--with-openssl=/usr \
--enable-soap \
--enable-zip \
--with-mhash=yes \
--with-gd \
--with-mysql \
--with-mysqli \
--with-pdo-mysql \
--with-pear \
--with-curl \
--with-xsl \
--with-jpeg-dir=/usr/lib
Anschließend speichern und schreibrechte setzen
Code:
chmod 755 compile
Jetzt das configure Script ausführen
Code:
./compile
Nach der erfolgreichen Erstellung der Konfigurationsdateien fehlt nur noch
Code:
make && make install
zuletzt noch die Schreibrechte anpassen:
Code:
chmod o+rX -R /opt/php52/
Gratulation, die Grundlage für den Einsatz von PHP 5.2 ist geschaffen.
3. Einbinden von PHP 5.2 in ISPCP
Bei ISPCP ist der FCGI Wrapper für jede Domain individuell konfiguriert. Man hat so die Möglichkeit verschiedenste PHP Versionen nur für bestimmte Webhostingpakete einzurichten.
Die jeweiligen PHP Wrapper findet man unter
Code:
/var/www/fcgi/<Domainname>/php5-fcgi-starter
Diese Datei öffnen wir, in diesem Fall für die Domain test.de, im Editor:
Code:
nano /var/www/fcgi/test.de/php5-fcgi-starter
Am Ende der Datei findet man jetzt einen Eintrag der wie Folgt aussieht:
exec /usr/bin/php5-cgi
Dieser besagt, dass die Standard PHP 5.3 Installation als PHP Version genutzt werden soll. Die Zeile wird demnach auskommentiert und durch
exec /opt/php52/bin/php-cgi
ersetzt. Das Endergebnis sieht dann wie Folgt aus:
Code:
#!/bin/sh
umask 022
PHPRC="/var/www/fcgi/test.de/php5/"
export PHPRC
TMPDIR="/var/www/virtual/test.de/phptmp"
export TMPDIR
PHP_FCGI_CHILDREN=2
export PHP_FCGI_CHILDREN
# exec /usr/bin/php5-cgi
exec /opt/php52/bin/php-cgi
Nach dem bearbeiten noch ein kurzer Apache Neustart
Code:
/etc/init.d/apache2 restart
Und die Änderung wird aktiv.
Mit Hilfe dieser kleinen Zeile kann binnen wenigen Sekunden zwischen PHP 5.3 und PHP 5.2 gewechselt werden.
4. Vorher / Nachher
Den Vorher / Nachher Vergleich finden Sie in unserem Forum unter - https://www.ip-projects.de/forum/viewtopic.php?f=19&t=92
Last edited by a moderator: