Update von PHP fehlgeschlagen (SuSE 9.1)

sammy

New Member
Ich habe versucht PHP von 4.3.4 auf 4.4.2 upzudaten.

Ich bin folgendermaßen vorgegangen:

Installationsquelle hinzugefügt: rpms.serversupportforum.de/yastinstall/suse91
Und die nötigen Packete versucht zu updaten.

Jetzt habe ich aber folgende Konflikte:
│libgdk-1.2.so.0 │is required by... │(libgdk-1.2.so.0 is not available)
│libglib-1.2.so.0 │is required by... │(libglib-1.2.so.0 is not available) │libgmodule-1.2.so.0│is required by... │(libgmodule-1.2.so.0 is not available) │libgtk-1.2.so.0 │is required by... │(libgtk-1.2.so.0 is not available)
php4 │requires...
│ -i- │php4-imap │conflicts with...
│ -i- │php4-mysql │conflicts with...
|-i- │php4-recode │conflicts with...


Mir scheint es als möchte er den Apache haben... habe aber den Apache 2 installiert.

Hat da vielleicht jemand eine Idee?
Über schnelle Hilfe wäre ich sehr dankbar.
 
Normalerweise braucht man beim Updaten von php (jedenfalls innerhalb V. 4-5) überhaupt nichts zu verändern, nicht einmal rebooten.

Wenn es anders nicht geht, tu mal a) php von www.php.net/downloads.php downloaden; b) im Text-Modus in #mc gehen, c) php...tar.bz2 anwählen und ENTER drücken, dann ganzen Ordner mit F5 auf andere Seite kopieren; d) mit TAB dorthin, ENTER drücken, mit F10 mc verlassen, sodass du jetzt im Ordner vom entpackten php bist;

e) im Brauser <dein-site>/info.php aufrufen, mit Maus ./configure ... überstreichen/wählen, mit CTRL-C kopieren; f) kedit öffnen, CTRL-V, unter /configure.sh abspeichern;

g) zurück im Textmodus, # sh /configure.sh , # make, # make install # make clean Wenn viele Fehlermeldungen kommen, dasselbe mit Option -kiB machen

Danach Server neu starten, zBsp mit # /usr/local/apache2/bin/apachectl restart und in <dein-site>/info.php sollte jetzt das neue php angegeben sein :)
 
Hey blob,
du bist nen super Typ!
Müsste zwar noch ein paar andere Packete installieren ,aber ich bekomme die neu php-version angezeigt.

Der Apache meldet mir beim starten zwar noch ein paar Fehler, das könnte aber auch wo anders dran liegen. Dem werde ich jetzt mal auf den Grund gehen.

Jetzt stört mich aber eins noch ganz dolle...
Ich bekomme im yast immernoch php 4.4.2 angezeigt und die Konflikte sind immernoch da.

Werde heute Nacht den Server mal neu booten... mal sehen!

Vielen Dank für deine Hilfe
Vielleicht komme ich auf dich zurück :rolleyes:
 
Wenn nach einem neuen installiert, das alte php noch VERWENDET wird, dann liegt das idR daran, dass es 2x installiert ist.

Gib mal ein # whereis php . Wahrscheinlich kommt es dann doppelt, einmal als /usr/bin/php und auch als /usr/local/bin/php.

Dagegen hilft idR,

a) vor der oben erläuterten Downladung/Übersetzung/Installierung vom Quellcode, die alte Version ganz rauszuwerfen. Falls als .tgz oder .rpm installiert, mit dem Package-Manager deiner Distro; falls vom Quellcode installiert, in den Ordner (also idR in /usr/local/src/php.<Version>) gehen, # make uninstall , # make clean , # make distclean eingeben und anschliessend ebendiesen Ordner löschen ;

b) bei der Übersetzung der neuen Version, ./configure --prefix= ... angeben, wobei ... -> /usr/local o.ä. ist, sodass anschliessend das neue übersetzte php dort zu liegen kommt wo das zuvor vorhandene war (<-- # whereis php ; das hängt von deiner Distro ab; schlimmstenfalls ausprobieren) und dieses überschreibt

Wenn es aber nur im Pkg-Manager ANGEZEIGT aber nicht verwendet wird, dürfte im Prinzip zwar Desinstallieren der alten Version ausreichen. Dabei kann es aber passieren, das auch Dateien von einer zuvor vom Quellcode übersetzten Version ebenfalls gelöscht werden, weil der Pkg-Manager davon ja nichts weiss. Daher wie oben vorgehen, dh erst die alte Version vollständig löschen, und dann die neue Version vom Quellcode installieren bzw das wiederholen.
 
Last edited by a moderator:
Back
Top