PHP 4.4.2 auf einem 1&1 Rootserver(SuSE 9.1/Plesk) kompilieren
Vor der Kompiliereung sollte man darauf achten folgende Pakete auf dem Server installiert zu haben um nicht schon beim configure entäuscht zu werden. Denn um PHP zu kompilieren werden meist die Sources, also die Devel Pakete der, von PHP benutzen Extensions gebraucht.:
Bison
Flex
OpenSSL devel
OpenSSL Doc
ZLib devel
cURL devel
libxml
libxml devel
libxslt devel
libpng devel
freetype
freetype 2
freetype 2 devel
libcrypt devel
libmhash
libmhash devel
sablot devel
autoconf
Weiter geht es mit dem Configure-String. Man sollte schon darauf achten sich an dem Output der phpinfo() zu orientieren weil dort die Pfade schon stimmen.
Dieser configure hat bei mir bestens funktionert: (Mit dem IMAP-Support hatte ich so meine Probleme und habe ihn vorerst mal rausgelassen).
-
./configure \
-
--prefix=/usr \
-
--with-apxs2=/usr/sbin/apxs2-prefork \
-
--datadir=/usr/share/php \
-
--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/php/bin \
-
--enable-inline-optimization \
-
--enable-magic-quotes \
-
--enable-sigchild \
-
--disable-cli \
-
--with-openssl \
-
--with-gd \
-
--with-jpeg-dir \
-
--with-png \
-
--without-pdflib \
-
--with-gettext \
-
--with-openssl \
-
--with-zlib \
-
--enable-xml \
-
--without-iconv \
-
--with-mhash \
-
--with-curl \
-
--enable-ftp \
-
--without-pear \
-
--enable-static \
-
--with-freetype-dir \
-
--with-png-dir \
-
--enable-mbstring \
-
--enable-mbregex \
-
--with-dom \
So, jetzt geht es weiter mit
-
make
-
-
make install
Und wenn es alles gut gegangen ist, hat man gerade eben seine PHP-Vesion geupdatet und das auch noch frisch per Eigenkompilierung.
Ich sollte noch erwähnen ,dass man vielleicht seine .so Datei vor dem make install noch mal sichern sollte. Nur für den Fall dass etwas schief geht, da make install diese Datei einfach ohne zu fragen überschreibt. Meine liegt in diesem Falle in /usr/lib/apache2-prefork/libphp4.so.
Und noch eine wichtige Sache: Falls ihr die alte php.ini behalten wollt, überprüft diese nach verwaisten Extensions. Insbesondere Zend-Extensions können hier sehr viel Ärger bereiten.