Update PHP unter Linux

Hallo,
ich möchte gerne mein PHP (Version 4.0.6 ) auf die neue Version 4.2.2 updaten. Nun bin ich nicht sicher, wie es geht.

Es läuft ein Apache/1.3.19 unter Suse 7.2

folgendes hab ich im Netz gefunden. Weiss jemand, ob ich noch etwas ergänzen muss?

vielen Dank
Steffi

1. cd apache\_1.3.x
2. ./configure --prefix=/www
3. cd ../php-x.x.x
4. ./configure --with-mysql --with-apache=../apache\_1.3.x --enable-track-vars

5. make
6. make install
7. cd ../php-x.x.x
8. cp php.ini-dist /usr/local/lib/php.ini
9. Editieren Sie nun Ihre httpd.conf oder srm.conf, und fügen Sie hinzu:
AddType application/x-httpd-php .php
10. Starten Sie den Apache Web Server neu. (Sie müssen den Server beenden
und neu starten, ein einfacher Reload mittels HUP oder USR1 Signal
reicht nicht aus.)
/path/to/apachectl stop
/path/to/apachectl start

Hallo,
ich möchte gerne mein PHP (Version 4.0.6 ) auf die neue
Version 4.2.2 updaten. Nun bin ich nicht sicher, wie es geht.

Es läuft ein Apache/1.3.19 unter Suse 7.2

folgendes hab ich im Netz gefunden. Weiss jemand, ob ich noch
etwas ergänzen muss?

vielen Dank
Steffi

mit YaST erst mal folgendes nachinstallieren:
apache-devel
mysql-devel
gd-devel

evtl. fehlt noch mehr, dazu später.
Dann mit dem bestehenden php ein phpinfo() per Browser aufrufen, da steht ganz oben die „alte“ configure-Zeile (lang), z.B.:

'./configure' '--prefix=/usr' '--bindir=/usr/bin' '--libdir=/usr/lib' '--with-config-file-path=/etc' '--with-exec-dir=%{libdir}/php/bin' '--with-pgsql=/usr' '--with-mysql=/usr' '--with-gd=yes' '--with-tiff-dir=/usr' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr/X11R6' '--with-pdflib=/usr' '--with-ldap=yes' '--with-imap=yes' '--with-imap-ssl' '--with-zlib=yes' '--with-bz2' '--with-xml' '--with-ttf' '--with-t1lib' '--with-mcal=/usr/include/mcal/' '--with-sablot' '--with-readline' '--with-ftp' '--with-ndbm' '--with-gdbm' '--with-mcrypt' '--with-gettext' '--with-curl' '--with-mm' '--with-gd=yes' '--with-qtdom=/usr/lib/qt-2.2.1/' '--enable-versioning' '--enable-yp' '--enable-bcmath' '--enable-trans-sid' '--enable-inline-optimization' '--enable-track-vars' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-shmop' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-memory-limit' '--enable-wddx' '--enable-filepro' '--enable-dbase' '--enable-ctype' '--enable-debug' '--enable-force-cgi-redirect' '--enable-discard-path' '--enable-sigchild' '--enable-gd-imgstrttf' '--with-openssl' '--with-swf=./dist/' '--with-apxs=/usr/sbin/apxs' 'i386-suse-linux-gnu'

Diese Features sind im aktuellen php mit drin, und da solltest du nur die entfernen, welche du garantiert nicht brauchst. Evtl. im PHP-Manual nachsehen, welche Option für welche Funktionen steht.
Abhängig von den ausgewählten Funktionen brauchst du dann auch noch die entsprechenden Bibliotheken, die heissen meist , lib,-devel oder lib-devel im yast.

  1. cd apache_1.3.x
  2. ./configure --prefix=/www

Sollte sich durch apache-devel erledigt haben, sollte SuSE gemacht haben.

Hier fehlt das Auspacken der Quellen, die du von php.net geladen hast:
tar -xjf php-4.2.3.tar.bz2 oder
tar -xzf php-4.2.3.tar.gz

  1. cd …/php-x.x.x
  2. ./configure --with-mysql --with-apache=…/apache_1.3.x

Statt with-apache nimmt SuSE ‚–with-apxs=/usr/sbin/apxs‘, das tut aber das gleiche. Ansonsten ist das die lange Zeile von „oben“ (evtl. bearbeitet) aus der „alten“ Installation.

Hier ist auch die Stelle, wo du merkst, wenn irgendwelche Pakete fehlen. Dann gibt Configure eine Fehlermeldung aus, und du musst das fehlende Paket per YaST installieren, oder die entsprechende enable/with Option und damit die Funktionen weglassen.

  1. make
  2. make install
  3. cp php.ini-dist /usr/local/lib/php.ini

Die liegt bei SuSE in /etc, und sollte nach dem „drüberkopieren“ noch einmal angesehen und evtl. bearbeitet werden. Alte Version vorher sichern schadet auch nicht.

  1. Editieren Sie nun Ihre httpd.conf oder srm.conf, und fügen
    Sie hinzu:
    AddType application/x-httpd-php .php

Das macht „make install“ gleich mit, soweit ich weiss. Nachsehen, ob es drin steht, kann nicht schaden.

  1. Starten Sie den Apache Web Server neu. (Sie müssen den
    Server beenden
    und neu starten, ein einfacher Reload mittels HUP oder USR1
    Signal
    reicht nicht aus.)

Bei SuSE 7 wahrscheinlich /sbin/init.d/apache restart