Peter: PHP-5.2.1-Installtion (Linux): libphp5.so wird nicht erzeugt

Hallo,
bin grade dabei, ein Upgrade von PHP 5.1.2 auf 5.2.1 auf meinem SuSE-root-Server zu machen. Dazu benutze ich folgendes Shell-Skript:

***************************************
#!/bin/bash
cd /root/Software/PHP/php-5.2.1
rm config.cache
make clean
./configure --prefix=/usr/local/php-5.2.1 \             --with-config-file-path=/etc \             --with-apxs2=/usr/local/apache2/bin/apxs \             --with-mysql=/usr/local/mysql \             --with-mysqli=/usr/local/mysql/bin/mysql_config \        --with-gd \             --with-jpeg-dir \             --with-freetype-dir \             --with-ttf \             --enable-gd-native-ttf \             --enable-mbstring \             --enable-calendar \        --enable-ftp \        --enable-sysvsem \        --enable-sockets \        --enable-bcmath \        --enable-memory-limit \        --enable-sysvshm \        --with-zlib \             --with-gettext \             --with-mcrypt \             --with-pdo-mysql=/usr/local/mysql \             --with-pdo-sqlite \             --enable-sqlite-utf8 \             --with-recode \             --with-xmlrpc \             --enable-soap \             --with-curl \             --enable-dba \             --with-flatfile \             --enable-exif \             --with-tidy \             --enable-zip
make
apachectl stop
make install
cp ./php.ini-recommended /etc/php.ini
apachectl start
*********************************************

Alles läuft ohne Fehler und PHP wird nach /usr/local/php-5.2.1 installiert, wie gewünscht. Doch im Modul-Verzeichnis vom Apachen (/usr/local/apache2/modules) wird keine neue libphp5.so erzeugt, dort befindet sich nach dem Kompilieren und installeren noch das alte Modul von PHP 5.1.2. Es ist auch nirgends anders auf dem System zu finden.

Wo liegt hier das Problem?

Vielen Dank!

  1. hallo,

    bin grade dabei, ein Upgrade von PHP 5.1.2 auf 5.2.1 auf meinem SuSE-root-Server zu machen.

    Wie SUSE mit den Installationsorten umgeht, ist unter anderem von der Version abhängig. Sofern man YaST benutzt, werden die Apache-Module unter /usr/lib/apache2 abgelegt, wenn du keine anderen Vorgaben machst.

    Natürlich geht es auch ohne YaST. Dein Script sieht so aus, als hättest du den Apache ganz einfach vergessen. Es sollte noch so etwas Ähnliches wie
       --with-apache2
    dazu.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Da sagt die Doku aber was anderes ;-)

      http://www.php.net/manual/de/install.unix.php

      Es ist ein Upgrade, sprich, es hat vorher schon funktioniert und der Versionssprung ist ja nicht so groß... Kann auch nichts finden, dass sich was geändert hat.

      vG

      1. hallo,

        Da sagt die Doku aber was anderes ;-)
        http://www.php.net/manual/de/install.unix.php

        Vermutlich meinst du http://www.php.net/manual/de/install.unix.php und verweist damit auf eine ziemlich veraltete Seite in einer Dokumentation, die _nichts_ mit deiner PHP-Installation zu tun hat, sondern sich ausschließlich dem Apache widmet. Dem Apache ist allerdings völlig wurscht, wie du ihm beibringst, mit PHP zusammenzuarbeiten - Hauptsache, du erklärst es ihm so, daß er versteht, was du damit meinst.

        Es ist ein Upgrade, sprich, es hat vorher schon funktioniert und der Versionssprung ist ja nicht so groß

        Nein. Nach deinem vorgestellten Script machst du eine Neuinstallation. Du möchtest in einem Verzeichnis unterhalb von /usr/local eine neue PHP-Version installieren. Das kannst du gerne machen, nur wird die SUSE in diesem Verzeichnis niemals nach irgendwelchen ausführbaren Dateien suchen, es sei denn, du bringst es ihr in den diversen Scripts unterhalb von /etc bei bzw. veränderst in deinem Profil die Vorgaben für den PATH.

        Darüberhinaus verhält sich die SUSE, was den Apache betrifft, sehr eigensinnig: die Liste der zuladbaren Module wird beispielsweise erst zur Laufzeit mithilfe von /etc/sysconfig/apache2 erstellt. Das kannst du allerdings alles beeinflussen und bei Bedarf ändern, wofür dein posting aber nicht genügend Hinweise enthalten hat.

        Ich kenne die Konfiguration deines Servers nicht. Ich habe dich darauf aufmerksam gemacht, daß die "Version" gerade bei SUSE wichtig sein kann, was allerdings am meisten mit dem Kernel zu tun hat. Dazu kommt, daß du auf durchaus ehrenhafte Weise versucht hast, dir eine Software "von Hand" zu installieren, dein Server aber eventuell gar nichts davon mitkriegt. Bei OpenSUSE kann man sich nun die Adressen von Projekt-Quellen in der Regel als fertige RPMs holen, darunter auch für Apache und PHP 5.2.0. Na gut, das ist nicht 5.2.1, aber es ist wenigstens ein RPM, womit die SUSE umgehen kann. Was ist dein Motiv, unbedingt ein PHP5.2.1 einsetzen zu müssen?

        Wenn man mit einer bestimmten Systemkonfiguration bzw. Distribution Probleme beim Aufrüsten auf neue Softwareversionen bekommt, ist es oftmals sinnvoll, sich erstmal genau anzuscahuen, was denn diese Distribution bisher für Updatequellen selbst bereitstellt.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. hallo,

    noch ein Nachsatz:

    Alles läuft ohne Fehler und PHP wird nach /usr/local/php-5.2.1 installiert, wie gewünscht. Doch im Modul-Verzeichnis vom Apachen (/usr/local/apache2/modules) wird keine neue libphp5.so erzeugt

    Das Modul heißt auch nicht so. Es trägt den Namen mod_php5.so. Eine libphp5.so kann ich auf meiner SUSE 10.2 (mit Apache 2.2.3/PHP 5.2.1) nicht finden.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|