Hallo,
ich habe auf einem Webserver mit recht vielen Projekte ein Squeeze-Update durchgeführt, dabei wurde auch PHP von 5.2 auf 5.3 upgedatet. Ich hatte nicht auf dem Schirm, dass es bei einem minor update zu sonderlichen Problemen kommen könnte - das ist nun leider passiert, ein paar Seiten mit altem PHP-Code (z.B. Drupal 5) laufen einfach nicht mit PHP 5.3.
Gibt es einen Weg, wie ich parallel zu PHP 5.3 auch PHP 5.2 installieren kann (als CGI-Modul)? Ich habe das mal mit Parallelinstallationen von PHP 4 und PHP 5 gemacht, weiß aber nicht mehr, wie ich mit Installation und Paketabhängigkeiten umgegangen bin.
Grüße,
a²
Squeeze: PHP 5.3 und PHP 5.2
-
- Beiträge: 8
- Registriert: 24.02.2011 19:25:51
Re: Squeeze: PHP 5.3 und PHP 5.2
Hallo,
ok, bin einen Schritt weiter und habe PHP 5.2 selber kompiliert und kann es als CGI-Modul einbinden.
In der virtualhost-Konfig habe ich dazu
AddHandler php52-cgi .php52
AddHandler php52-cgi .php
Action php52-cgi /cgi-bin/phpini.cgi
eingetragen. Eine Datei phpinfo.php52 wird korrekt mit PHP 5.2 verarbeitet, eine Datei phpinfo.php jedoch mit PHP 5.3?!? Wie kriege ich den Link Endung .php <-> PHP 5.2 hin?
Danke,
a²
ok, bin einen Schritt weiter und habe PHP 5.2 selber kompiliert und kann es als CGI-Modul einbinden.
In der virtualhost-Konfig habe ich dazu
AddHandler php52-cgi .php52
AddHandler php52-cgi .php
Action php52-cgi /cgi-bin/phpini.cgi
eingetragen. Eine Datei phpinfo.php52 wird korrekt mit PHP 5.2 verarbeitet, eine Datei phpinfo.php jedoch mit PHP 5.3?!? Wie kriege ich den Link Endung .php <-> PHP 5.2 hin?
Danke,
a²
Re: Squeeze: PHP 5.3 und PHP 5.2
Hallo,
wegen Nachfrage poste ich hier mal mein Vorgehen. Ich hoffe, es hilft...
1. Allgemein
*PHP 5.3 läuft weiterhin als Apache-Modul (Debian-Paket)
*PHP 5.2 läuft als selber kompiliertes CGI-Modul
2. PHP 5.3 Anpassungen
PHP 5.3 ist quasi wie ein neuer Major-Release und greift auf die Version 6 vor. Es gibt einige Einstellungen und Probleme mit älteren Scripten zu bedenken
*php.ini (alle 3 in Unterverzeichnissen von /etc/php/) folgende Werte explizit setzen:
*date.timezone = “Europe/Berlin” http://www.php.net/manual/de/datetime.c ... e.timezone
3. PHP 5.2 kompilieren
*die Sourcen unter /root/php-5.2.17 ablegen
*Pfad definieren, so dass die kompilierten Binaries sich unter /usr/bin/php52 befinden
*die configure-Parameter in die Datei co schreiben (sie können aus config.status ausgelesen werden)
*Rekompilieren auf folgendem Wege:
4. PHP 5.2 für virtuellen Host konfigurieren
*Binary ins eigene /cgi-bin kopieren (/usr/bin/php52/php-cgi)
*Wrapper-Script phpini.cgi im eigenen /cgi-bin erstellen:
*Ini-Datei unter /etc/php5/conf.d/site/deine-seite anlegen mit mindestens folgenden Parametern:
*Einträge im eigenen VirtualHost (/etc/apache2/sites-available/deine-seite) hinzufügen:
*in der VirtualHost-Config muss auch cgi-bin konfiguriert sein (meistens ist das schon der Fall):
*Apache reloaden:
wegen Nachfrage poste ich hier mal mein Vorgehen. Ich hoffe, es hilft...
1. Allgemein
*PHP 5.3 läuft weiterhin als Apache-Modul (Debian-Paket)
*PHP 5.2 läuft als selber kompiliertes CGI-Modul
2. PHP 5.3 Anpassungen
PHP 5.3 ist quasi wie ein neuer Major-Release und greift auf die Version 6 vor. Es gibt einige Einstellungen und Probleme mit älteren Scripten zu bedenken
*php.ini (alle 3 in Unterverzeichnissen von /etc/php/) folgende Werte explizit setzen:
*date.timezone = “Europe/Berlin” http://www.php.net/manual/de/datetime.c ... e.timezone
3. PHP 5.2 kompilieren
*die Sourcen unter /root/php-5.2.17 ablegen
*Pfad definieren, so dass die kompilierten Binaries sich unter /usr/bin/php52 befinden
*die configure-Parameter in die Datei co schreiben (sie können aus config.status ausgelesen werden)
*Rekompilieren auf folgendem Wege:
Code: Alles auswählen
make clean
sh co
make
make install
*Binary ins eigene /cgi-bin kopieren (/usr/bin/php52/php-cgi)
*Wrapper-Script phpini.cgi im eigenen /cgi-bin erstellen:
Code: Alles auswählen
#!/bin/sh
export PHPRC=/etc/php5/conf.d/site/deine-seite
exec /web/deine-seite/cgi-bin/php5
Code: Alles auswählen
safe_mode = on
register_globals = off
open_basedir = /web/deine-seite:/tmp
Code: Alles auswählen
<FilesMatch "\.(php)$">
SetHandler none
</FilesMatch>
AddType application/x-httpd-php-custom .php
Action application/x-httpd-php-custom /cgi-bin/phpini.cgi
Code: Alles auswählen
ScriptAlias /cgi-bin /web/deine-seite/cgi-bin
<Location /cgi-bin>
AddHandler cgi-script .cgi
Options +ExecCGI +Includes
</Location>
Code: Alles auswählen
/etc/init.d/apache2 reload
Re: Squeeze: PHP 5.3 und PHP 5.2
Hallo,
ich habe mich jetzt mal an die Anleitung von a² gehalten, aber irgendwie haut das bei mir nicht hin.
Wenn ich eine phpinfo.php über die Domain aufrufe bekomme ich eine blanke Ausgabe.
3. PHP 5.2 kompilieren
*die Sourcen unter /root/php-5.2.17 ablegen
*Pfad definieren, so dass die kompilierten Binaries sich unter /usr/bin/php52 befinden
Ich habe die php 5.2 folgendermaßen kompiliert:
Kompilieren, make und make install geht.
4. PHP 5.2 für virtuellen Host konfigurieren
*Binary ins eigene /cgi-bin kopieren (/usr/bin/php52/php-cgi)
*Wrapper-Script phpini.cgi im eigenen /cgi-bin erstellen:
Die cgi-bin und das erstellte Wrapperscript habe ich unter /var/www/cgi-bin/ kopiert,
oder sollte die unter /var/www/vhost/website.xy/cgi-bin/ ?
*Ini-Datei unter /etc/php5/conf.d/site/deine-seite anlegen mit mindestens folgenden Parametern:
wie muß jetzt diese ini Datei heißen? php.ini oder website.xy.ini
Habe einen Ordner website.xy anlegen müssen unter /site/ da es keinen gab.
*Einträge im eigenen VirtualHost (/etc/apache2/sites-available/deine-seite) hinzufügen:
was erstelle ich hier? eine Datei namens Website.xy?
*in der VirtualHost-Config muss auch cgi-bin konfiguriert sein (meistens ist das schon der Fall):
Ist das die apache2.conf? unter /etc/apache2/
Vielleicht ist ja jemand bereit mir zu Helfen.
Ach ja der Server ist wieder im Ursprungszustand, da ich zuviel rumgefummelt habe und dann
nix mehr ging.
grüße
MAik
ich habe mich jetzt mal an die Anleitung von a² gehalten, aber irgendwie haut das bei mir nicht hin.
Wenn ich eine phpinfo.php über die Domain aufrufe bekomme ich eine blanke Ausgabe.
3. PHP 5.2 kompilieren
*die Sourcen unter /root/php-5.2.17 ablegen
*Pfad definieren, so dass die kompilierten Binaries sich unter /usr/bin/php52 befinden
Ich habe die php 5.2 folgendermaßen kompiliert:
Code: Alles auswählen
./configure
--prefix=/usr/bin/php52
--datadir=/usr/bin/php52
--mandir=/usr/share/man
--bindir=/usr/bin/php52
--with-libdir=lib64
--includedir=/usr/include
--sysconfdir=/etc/php52/apache2
--with-config-file-path=/etc/php52/apache2
--with-config-file-scan-dir=/etc/php52/conf.d
--enable-libxml --enable-session
--with-pcre-regex=/usr
--enable-xml
--enable-simplexml
--enable-filter
--disable-debug
--enable-inline-optimization
--disable-rpath
--disable-static
--enable-shared
--with-pic
--with-gnu-ld
--with-mysql
--with-gd
--with-jpeg-dir
--with-png-dir
--with-xpm-dir
--enable-exif
--enable-fastcgi
--enable-force-cgi-redirect
--with-zlib
--with-bz2
--with-curl
--with-ldap
--with-mysqli
--with-ttf
--enable-soap
--enable-sockets
--enable-calendar
--enable-ftp
--enable-mbstring
--enable-gd-native-ttf
--enable-bcmath
--enable-zip
--with-pear
--with-openssl
--with-imap
--with-imap-ssl
--with-kerberos
4. PHP 5.2 für virtuellen Host konfigurieren
*Binary ins eigene /cgi-bin kopieren (/usr/bin/php52/php-cgi)
*Wrapper-Script phpini.cgi im eigenen /cgi-bin erstellen:
Die cgi-bin und das erstellte Wrapperscript habe ich unter /var/www/cgi-bin/ kopiert,
oder sollte die unter /var/www/vhost/website.xy/cgi-bin/ ?
*Ini-Datei unter /etc/php5/conf.d/site/deine-seite anlegen mit mindestens folgenden Parametern:
wie muß jetzt diese ini Datei heißen? php.ini oder website.xy.ini
Habe einen Ordner website.xy anlegen müssen unter /site/ da es keinen gab.
*Einträge im eigenen VirtualHost (/etc/apache2/sites-available/deine-seite) hinzufügen:
was erstelle ich hier? eine Datei namens Website.xy?
*in der VirtualHost-Config muss auch cgi-bin konfiguriert sein (meistens ist das schon der Fall):
Ist das die apache2.conf? unter /etc/apache2/
Vielleicht ist ja jemand bereit mir zu Helfen.
Ach ja der Server ist wieder im Ursprungszustand, da ich zuviel rumgefummelt habe und dann
nix mehr ging.
grüße
MAik
Re: Squeeze: PHP 5.3 und PHP 5.2
Habs selbst gelöst...
Kann ich nur wärmstens Empfehlen und 40 € die sich Lohnen...
Debian Squeeze Das Umfassende Handbuch...
Von Galileo Computing
Grüße Maik
Kann ich nur wärmstens Empfehlen und 40 € die sich Lohnen...
Debian Squeeze Das Umfassende Handbuch...
Von Galileo Computing
Grüße Maik