PHP 4 und PHP 5 auf Linux

Morgen zusammen,

ich habe auf einem Server von Haus aus PHP 4.2.2 installiert, nun würde
ich aber gerne ein Update machen.
Nur da ich jetzt in den laufenden Serverbetrieb nicht eingreifen kann,
dachte ich mir, das ich PHP 5 parallel installiere und wenn alles gut
gelaufen ist, dann den Apache umstellen.
Ist sowas überhaupt machbar/sinnvoll auf Linux oder würdet Ihr mir davon
abraten?

Das ist nen RedHat System und PHP läuft auch zu meiner Überraschung als CGI.

Danke
Chris
Chris Schmitz [ Do, 21 Oktober 2004 10:54 ] [ ID #435008 ]

Re: PHP 4 und PHP 5 auf Linux

Hallo!

Habe das selbe "Problem"! Bei mir läuft nur PHP 4.3.3 auf nem Suse System
als Modul!
Wie muss ich nun PHP5 kompilieren dass ich es parallel als CGI nutzen kann
ohne dass
es mir die Konfiguration aus PHP 4 durcheinanderbringt.

Danke
Thomas Losert

"Chris Schmitz" <mehl-box [at] nurfuerspam.de> schrieb im Newsbeitrag
news:cl7tgf$r9g$05$1 [at] news.t-online.com...
> Morgen zusammen,
>
> ich habe auf einem Server von Haus aus PHP 4.2.2 installiert, nun würde
> ich aber gerne ein Update machen.
> Nur da ich jetzt in den laufenden Serverbetrieb nicht eingreifen kann,
> dachte ich mir, das ich PHP 5 parallel installiere und wenn alles gut
> gelaufen ist, dann den Apache umstellen.
> Ist sowas überhaupt machbar/sinnvoll auf Linux oder würdet Ihr mir davon
> abraten?
>
> Das ist nen RedHat System und PHP läuft auch zu meiner Überraschung als
CGI.
>
> Danke
> Chris
Thomas Losert [ Mo, 22 November 2004 19:03 ] [ ID #497678 ]

Re: PHP 4 und PHP 5 auf Linux

Auch mich würde das interessieren, habe auch SuSE 9.2 mit PHP 4 und möchte
auf PHP 5 upgraden...

Patrick

Thomas Losert wrote:

> Hallo!
>
> Habe das selbe "Problem"! Bei mir läuft nur PHP 4.3.3 auf nem Suse System
> als Modul!
> Wie muss ich nun PHP5 kompilieren dass ich es parallel als CGI nutzen kann
> ohne dass
> es mir die Konfiguration aus PHP 4 durcheinanderbringt.
>
> Danke
> Thomas Losert
>
> "Chris Schmitz" <mehl-box [at] nurfuerspam.de> schrieb im Newsbeitrag
> news:cl7tgf$r9g$05$1 [at] news.t-online.com...
>> Morgen zusammen,
>>
>> ich habe auf einem Server von Haus aus PHP 4.2.2 installiert, nun würde
>> ich aber gerne ein Update machen.
>> Nur da ich jetzt in den laufenden Serverbetrieb nicht eingreifen kann,
>> dachte ich mir, das ich PHP 5 parallel installiere und wenn alles gut
>> gelaufen ist, dann den Apache umstellen.
>> Ist sowas überhaupt machbar/sinnvoll auf Linux oder würdet Ihr mir davon
>> abraten?
>>
>> Das ist nen RedHat System und PHP läuft auch zu meiner Überraschung als
> CGI.
>>
>> Danke
>> Chris
Patrick Trettenbrein [ Mo, 29 November 2004 16:02 ] [ ID #508400 ]

Re: PHP 4 und PHP 5 auf Linux

Patrick Trettenbrein wrote:

Hallo,

>Thomas Losert wrote:
>> Wie muss ich nun PHP5 kompilieren dass ich es parallel als CGI nutze=
n
>> kann ohne dass

Bei configure ein Prefix angeben, so dass PHP 5 in ein eigenes Verzeic=
hnis
installiert wird

./configure --prefix=3D/usr/local/PHP5

Das Binary ist dann über

/usr/local/PHP/bin/php

erreichbar. Die php.ini steht in *grübel*

/usr/local/PHP5/lib/php.ini

oder so ähnlich.


tschuess
[|8:)
Sven Drieling [ Mo, 29 November 2004 16:36 ] [ ID #508401 ]

Re: PHP 4 und PHP 5 auf Linux

Noch eine Frage, welche Parameter muss ich ./configure noch mitgeben, damit
PHP mit unterstützung für Apache2 und mySQL compiliert wird? (Auf einem
SuSE 9.2 System)

Patrick

Sven Drieling wrote:

> Patrick Trettenbrein wrote:
>
> Hallo,
>
>>Thomas Losert wrote:
>>> Wie muss ich nun PHP5 kompilieren dass ich es parallel als CGI nutzen
>>> kann ohne dass
>
> Bei configure ein Prefix angeben, so dass PHP 5 in ein eigenes
> Verzeichnis installiert wird
>
> ./configure --prefix=/usr/local/PHP5
>
> Das Binary ist dann über
>
> /usr/local/PHP/bin/php
>
> erreichbar. Die php.ini steht in *grübel*
>
> /usr/local/PHP5/lib/php.ini
>
> oder so ähnlich.
>
>
> tschuess
> [|8:)
Patrick Trettenbrein [ Mo, 29 November 2004 16:48 ] [ ID #508402 ]

Re: PHP 4 und PHP 5 auf Linux

Patrick Trettenbrein wrote:
> Noch eine Frage, welche Parameter muss ich ./configure noch mitgeben, d=
amit
> PHP mit unterst=C3=BCtzung f=C3=BCr Apache2 und mySQL compiliert wird? =
(Auf einem
> SuSE 9.2 System)
>

configure --help
Hartmut Holzgraefe [ Mo, 29 November 2004 17:04 ] [ ID #508403 ]

Re: PHP 4 und PHP 5 auf Linux

Hartmut Holzgraefe wrote:
> Patrick Trettenbrein wrote:
>
>> Noch eine Frage, welche Parameter muss ich ./configure noch mitgeben,
>> damit
>> PHP mit unterstützung für Apache2 und mySQL compiliert wird? (Auf einem
>> SuSE 9.2 System)
>>
>
> configure --help

Fatal error: Call to undefined function: mysql_connect() in
/usr/local/htdocs/test.php on line 2

s.c.n.r.

~Jens
Jens Kirchheimer [ Mo, 29 November 2004 17:11 ] [ ID #508404 ]

Re: PHP 4 und PHP 5 auf Linux

Patrick Trettenbrein wrote:

Hallo Patrick,

> Noch eine Frage, welche Parameter muss ich ./configure noch mitgeben,=

> damit PHP mit unterstützung für Apache2

Für Apache2 muss in Fall von CGI nichts spezielles angegeben werden.=


> und mySQL compiliert wird? (Auf

- In ./configure --help
- der INSTALL-Textdatei
- im PHP-Handbuch: Installation

nach MySQL suchen.

Wenn PHP schon vorhanden ist, wird bei phpinfo() u.a. angezeigt mit we=
lchen
Parametern jene Version compiliert wurde. Wenn man sie nicht selbst
compiliert hat, ist auf dem System allerdings nicht unbedingt alles
vorhanden, um ohne Installation von zusätzlichen Developer-Paketen a=
ll
diese Optionen benutzen zu können.

>Sven Drieling wrote:
>> Patrick Trettenbrein wrote:
>>
>> Hallo,

Mit dem in <http://www.afaik.de/usenet/faq/zitieren/> beschriebenen
Zitierstil erleichterst Du allen anderen im Netz das Lesen und
Beantworten von Postings, Forum-Einträgen, E-Mails usw.


tschuess
[|8:)
Sven Drieling [ Mo, 29 November 2004 17:21 ] [ ID #508405 ]

Re: PHP 4 und PHP 5 auf Linux

Also mein ./configure sieht jetzt so aus - ist das soweit korrekt?

../configure --prefix=/usr/ --datadir=/usr/share/php5 --mandir=/usr/share/man
--bindir=/usr/bin --libdir=/usr/share --includedir=/usr/include
--sysconfdir=/etc --with-_lib=lib --with-config-file-path=/etc
--with-exec-dir=/usr/lib//bin --disable-debug --enable-inline-optimization
--enable-memory-limit --enable-magic-quotes --enable-safe-mode
--enable-sigchild --disable-ctype --disable-session --without-mysql
--disable-cli --without-pear --with-openssl
--with-apxs2=/usr/sbin/apxs2-prefork i586-suse-linux

Patrick
Patrick Trettenbrein [ Mo, 29 November 2004 17:47 ] [ ID #508406 ]

Re: PHP 4 und PHP 5 auf Linux

Patrick Trettenbrein wrote:

Hallo Patrick,

> Also mein ./configure sieht jetzt so aus - ist das soweit korrekt?

Nein.

> ./configure --prefix=3D/usr/

In /usr/ ist Dein jetziges PHP 4 bereits installiert, damit würdest =
Du
es mit PHP 5 überschreiben. Stattdessen für PHP 5 ein eigenes
Verzeichnis angeben:

./configure --prefix=3D/usr/local/PHP5

> --without-mysql

Damit hast Du kein MySQL stattdessen

--with mysql

nehmen.

> --without-pear

Weglassen, in der Regel möchte man die PEAR-Klassen haben.

> --with-apxs2=3D/usr/sbin/apxs2-prefork i586-suse-linux

Damit hast Du ein Apache-Modul, Du möchtest aber nur CGI haben.
Eventuell stattdessen

--without-apache

vielleicht noch zusätzlich mit

--without-apxs
--without-apxs2

nehmen. Falls das funktionieren sollte (habe PHP 5 noch nie speziell n=
ur
für CGI compiliert), verhindert es wohl den automatischen

LoadModule php5_module libexec/libphp5.so

Eintrag in die http.conf-Datei, so dass man es nicht nach

make install

per Hand entfernen muss (PHP 4 und PHP 5 gleichzeitig als
Modul in einem Apache geladen vertragen sich nicht).

Probier einfach erst mal

./configure --prefix=3D/usr/local/PHP5

oder

./configure --prefix=3D/usr/local/PHP5 --with-mysql
--without-apache --without-apxs --without-apxs2

oder passende Kombinationen davon, jeweils mit anschließenden

make
make install

aus. Und passe es dann bei auftretenden Fehlermeldungen an bzw.
erweitere es um weitere PHP-Feature, die Du benötigst.

Schaue dabei in der http.conf nach, ob sich dort ein

LoadModule php5_module libexec/libphp5.so

eingeschlichen hat und entferne es gegebenfalls, so dass weiterhin
nur das libphp4.so Modul geladen wird.


tschuess
[|8:)
Sven Drieling [ Mo, 29 November 2004 18:34 ] [ ID #509157 ]

Re: PHP 4 und PHP 5 auf Linux

Ok, danke ich werde das mal versuchen, aber das mit dem Apache Modul ist
schon richtig...

Patrick
Patrick Trettenbrein [ Mo, 29 November 2004 19:37 ] [ ID #509158 ]

Re: PHP 4 und PHP 5 auf Linux

../configure --prefix=/usr/local/php5 --datadir=/usr/share/php5
--mandir=/usr/share/man --bindir=/usr/bin
--libdir=/usr/share--includedir=/usr/include --sysconfdir=/etc
--with-_lib=lib --with-config-file-path=/etc --with-exec-dir=/usr/lib//bin
--disable-debug --enable-inline-optimization --enable-memory-limit
--enable-magic-quotes --enable-safe-mode --enable-sigchild --with-mysql
--disable-cli --without-pear --with-openssl
--with-apxs2=/usr/sbin/apxs2-prefork i586-suse-linux

sollte dann wohl richtig sein?

Patrick
Patrick Trettenbrein [ Mo, 29 November 2004 20:01 ] [ ID #509159 ]

Re: PHP 4 und PHP 5 auf Linux

Patrick Trettenbrein wrote:

Hallo Patrick,

> ./configure --prefix=3D/usr/local/php5 --datadir=3D/usr/share/php5
> --mandir=3D/usr/share/man

> --bindir=3D/usr/bin

Dadurch wird ein dort existierendes PHP 4-Binary überschrieben.

> --libdir=3D/usr/share

Weshalb? Kann viel besser nur per --prefix in

/usr/local/php5/lib

abgelegt werden.

> --with-config-file-path=3D/etc

Falls sich dort schon Deine php.ini von PHP 4 befindet, wird
diese überschrieben.

> sollte dann wohl richtig sein?

Sofern die Einstellungen damit so sind wie Du sie haben möchtest,
ginge es so. Sie beinhalten in der Form aber die Gefahr, dass bestehen=
de
PHP 4-Dateien überschrieben werden (je nachdem wie PHP 4 bei
Dir installiert ist und ob das =DCberschreiben beabsichtigt ist oder n=
icht).


tschuess
[|8:)
Sven Drieling [ Mo, 29 November 2004 21:35 ] [ ID #509160 ]
PHP » de.comp.lang.php.installation » PHP 4 und PHP 5 auf Linux

Vorheriges Thema: welches PHP für MySQL 4.1, bzw MySQL 5.0.1a
Nächstes Thema: Win XP und php5, Module laden