Squeeze: PHP 5.3 und PHP 5.2

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
aquadraht
Beiträge: 33
Registriert: 10.05.2002 21:39:54

Squeeze: PHP 5.3 und PHP 5.2

Beitrag von aquadraht » 03.03.2011 13:56:22

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,

servercoach
Beiträge: 8
Registriert: 24.02.2011 19:25:51

Re: Squeeze: PHP 5.3 und PHP 5.2

Beitrag von servercoach » 03.03.2011 14:27:51

Hallo,
hier gibt es ein How´to zu http://bernhardhaeussner.de/blog/89_How ... stallieren

LG Daniel

Benutzeravatar
aquadraht
Beiträge: 33
Registriert: 10.05.2002 21:39:54

Re: Squeeze: PHP 5.3 und PHP 5.2

Beitrag von aquadraht » 03.03.2011 15:58:58

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,

Benutzeravatar
aquadraht
Beiträge: 33
Registriert: 10.05.2002 21:39:54

Re: Squeeze: PHP 5.3 und PHP 5.2

Beitrag von aquadraht » 15.09.2011 13:23:47

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:

Code: Alles auswählen

        make clean 
        sh co 
        make 
        make install 
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:

Code: Alles auswählen

#!/bin/sh
export PHPRC=/etc/php5/conf.d/site/deine-seite
exec /web/deine-seite/cgi-bin/php5
*Ini-Datei unter /etc/php5/conf.d/site/deine-seite anlegen mit mindestens folgenden Parametern:

Code: Alles auswählen

safe_mode = on
register_globals = off
open_basedir = /web/deine-seite:/tmp
*Einträge im eigenen VirtualHost (/etc/apache2/sites-available/deine-seite) hinzufügen:

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
*in der VirtualHost-Config muss auch cgi-bin konfiguriert sein (meistens ist das schon der Fall):

Code: Alles auswählen

ScriptAlias     /cgi-bin        /web/deine-seite/cgi-bin
<Location /cgi-bin>
   AddHandler cgi-script .cgi
   Options +ExecCGI +Includes
</Location>
*Apache reloaden:

Code: Alles auswählen

/etc/init.d/apache2 reload

Maik81
Beiträge: 2
Registriert: 15.09.2011 12:04:48

Re: Squeeze: PHP 5.3 und PHP 5.2

Beitrag von Maik81 » 19.09.2011 18:54:40

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:

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 
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. :hail: :hail: :hail: :hail: :hail:
Ach ja der Server ist wieder im Ursprungszustand, da ich zuviel rumgefummelt habe und dann
nix mehr ging.

grüße
MAik

Maik81
Beiträge: 2
Registriert: 15.09.2011 12:04:48

Re: Squeeze: PHP 5.3 und PHP 5.2

Beitrag von Maik81 » 24.09.2011 23:39:15

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

Antworten