Horror! PHP-Kompilieren...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Horror! PHP-Kompilieren...

    Hallo...

    Bevor ich zum Thema komme möchte ich anmerken, das ich in Sachen "Kompilieren" ein blutiger anfänger bin. Ich habe erfolgreich Apache 2.2.9 mit allen Standard-Modulen plus "mod_jk", Tomcat 6.0.18 mit JDK 1.6.0 sowie MySQL 4.1 und 5.1 auf einem Debian 4 (etch) kompiliert. MySQL 4 und 5 lassen sich per Link umschalten.

    So weit, so gut. Nun hätte ich auch gerne PHP4 und PHP5 (im Prinzip genau so einfach wie Apache) mit allen Modulen (ob Feature im System vorhanden oder nicht) kompiliert bekommen, das am Ende ungefähr so ein Paket wie in Xampp für Linux herauskommt.
    Und genau da liegt nun mein Problem bei PHP. Suchen ohne Ende, ständig Fehler wegen nicht erfüllter Abhängigkeiten und die komplette "configure"-Zeile mit all den --with-blah und --enable-sülz erneut eingeben eingeben (man erinnere sich... ALLE MODULE). Habt ihr es nicht 'n biss'l einfacher (um nicht zu sagen für DUMMIES)? Z.B. Automatisiert oder wie beim Kernel per Menuconfig? Ich bin doch keine Büro-Tipse die 200 Anschläge pro Minute schafft.

    Ach so... Wenn ich mit diesem Thread das falsche Forum erwischt habe, bitte ich schonmal demütigst um Verzeihung. In diesem Fall: Beitrag verschieben und benachrichtigen (z.B. über PN).

    mfg C. Monroe

  • #2
    Ich verschiebe mal ins richtigen Forum ... warum installierst du nicht via apt? Warum alle features? Brauchst du wirklich alles?

    Kommentar


    • #3
      Du kannst doch das Configure in einem shell Script abhandeln. Zumindest mache ich das so...
      Auf Wunsch kann ich das auch gene hier mal posten.
      Wir werden alle sterben

      Kommentar


      • #4
        Original geschrieben von asp2php
        Ich verschiebe mal ins richtigen Forum ... warum installierst du nicht via apt? Warum alle features? Brauchst du wirklich alles?
        Apt? ...Nu' nich' mehr. Dieser Paket-Abhängigkeits-Wahnsinn ist nichts für mich (betrifft nicht nur Debian, sondern Linux allgemein). Ausserdem funzt Apt eh nicht mehr, weil die Paket-Abhängigkeiten nach der Installation von Tomcat 6 und JDK 1.6 schon gar nicht mehr passten (echt toll... ein hoch auf Linux Distributionen). Und nein Ich brauche nicht wirklich alles. Ich weis nur vorher nie genau was ich irgendwann mal brauchen werde.

        Original geschrieben von combie
        Du kannst doch das Configure in einem shell Script abhandeln. Zumindest mache ich das so...
        Auf Wunsch kann ich das auch gene hier mal posten.
        Shell-Skript... hört sich schon mal ganz gut an (HDM -> Her damit ). Wenn das als Post zu lang werden sollte schicke es einfach per PN. Danke schon mal.

        Eigentlich hatte ich ja erwartet, das ich bei PHP so eine Art --enable-so="all" wie es mit Apache ging übersehen hätte aber das scheint dann wohl doch nicht der fall zu sein.

        mfg
        C. Monroe
        Zuletzt geändert von Charles Monroe; 04.08.2008, 10:22.

        Kommentar


        • #5
          Nimm halt aptitude, löst die Abhängigkeiten eh sehr viel besser auf. Hab seit dem keine Probleme mehr gehabt (außer einmal bei einem dist-upgrade, aber das war ich auch selbst schuld). Außerdem muss man die Module auch nicht fest reinkompilieren
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            Hier mal das Script: configure_php_as_cgi.sh

            Code:
            #! /bin/bash
            phpversion="6_0"
            
            # --without-sqlite  \
            # --enable-safe-mode  \
            # --disable-xml  \
            # --disable-simplexml  \
            # --disable-libxml  \
            # --disable-dom  \
            # --without-pear  \
            # --with-t1lib  \
            # --with-pgsql=/usr  \
            # --with-qtdom=/usr/lib/qt3  \
            # --with-swf=/usr/src/packages/BUILD/swf/dist/  \
            # --with-iodbc  \
            # --with-ldap=yes  \
            # --with-snmp  \
            # --with-kerberos=/usr  \
            # --with-mysqli=/usr/local/mysql/bin/mysql_config \
            # --enable-mbregex  \
            # --with-imap=/usr/local/imap-2006k  \
            # --with-mime-magic=/usr/share/misc/magic.mime \
            # --with-mysql=/usr/local/mysql \
            # --with-pdo-mysql=/usr/local/mysql  \
            # -–enable-apc-mmap \
            # --with-apxs2=/usr/sbin/apxs2 \
            # --enable-apc \
            
            
            ./configure \
             --prefix=/usr/share/php$phpversion \
             --datadir=/usr/share/php$phpversion  \
             --bindir=/usr/bin/php$phpversion  \
             --libdir=/usr/share/php$phpversion   \
             --with-config-file-path=/etc/php$phpversion/fastcgi   \
             --sysconfdir=/etc/php$phpversion/fastcgi   \
             --with-config-file-scan-dir=/etc/php$phpversion/conf.d \
             --with-exec-dir=/usr/lib/php$phpversion/bin  \
             --with-readline=/usr  \
             --with-ndbm  \
             --with-apc  \
             --with-mysqli \
             --with-mysql=/usr   \
             --with-mysql-sock=/var/lib/mysql/mysql.sock  \
             --with-pdo-mysql  \
             --with-gdbm  \
             --with-imap \
             --with-imap-ssl  \
             --with-tiff-dir=/usr  \
             --with-mime-magic \
             --with-ttf  \
             --with-freetype-dir=/usr  \
             --with-xslt-sablot  \
             --with-pear \
             --with-mcrypt  \
             --with-curl  \
             --with-mhash  \
             --with-zlib-dir=/usr \
             --with-bz2  \
             --with-dom=/usr/include/libxml2  \
             --with-ftp  \
             --with-gettext  \
             --with-gmp  \
             --with-jpeg-dir=/usr  \
             --with-mcal=/usr  \
             --with-png-dir=/usr  \
             --with-xml  \
             --with-xpm-dir=/usr/X11R6  \
             --with-zlib=yes  \
             --with-gd  \
             --with-openssl  \
             --with-iconv  \
             --with-mm \
             --disable-mbregex \
             --disable-debug \
             --enable-soap \
             --enable-dbase  \
             --enable-xslt  \
             --enable-fastcgi \
             --enable-sockets \
             --enable-session \
             --enable-exif  \
             --enable-force-cgi-redirect  \
             --enable-track-vars  \
             --enable-memory-limit  \
             --enable-ctype  \
             --enable-bcmath  \
             --enable-calendar  \
             --enable-exif  \
             --enable-discard-path  \
             --enable-filepro  \
             --enable-ftp  \
             --enable-gd-imgstrttf  \
             --enable-gd-native-ttf  \
             --enable-inline-optimization  \
             --enable-magic-quotes  \
             --enable-mbstr-enc-trans  \
             --enable-mbstring  \
             --enable-sigchild  \
             --enable-shmop  \
             --enable-sysvsem  \
             --enable-sysvshm  \
             --enable-trans-sid  \
             --enable-versioning  \
             --enable-mm  \
             --enable-wddx \
             --enable-yp
            Wie du siehst, setze ich alle nicht benötigten Parameter auskommentiert nach oben. Und alle benötigten mit Hilfe der Backslash-Zeilenverlängerung übersichtlich untereinander.
            Natürlich mußt du das auf deine Gegebenheiten anpassen!
            Wir werden alle sterben

            Kommentar


            • #7
              Original geschrieben von unset
              Nimm halt aptitude, löst die Abhängigkeiten eh sehr viel besser auf.
              Ich weis... flog deswegen auch schon von der Platte, bevor apt nicht mehr funzte und mein Debian noch ein Debian war. Hat mir immer gesagt, das vsftp nicht mehr benötigt wird und deshalb deinstalliert wird. Nee... lass ma... Ich kann mir inzwischen meinen eigenen Paket-Abhängigkeits-Wahn bauen. Da brauch' ich keine Tools mehr für.

              @combie: Danke für das Script. Sollte erstmal helfen.

              EDIT:
              Das geht ja prächtig mit dem Script...
              Was aber nicht geht... --with-mysql... Immer wenn ich mysql einbinden will sträubt sich ./configure mit der folgenden Fehlermeldung:
              Code:
              checking for mysql_close in -lmysqlclient... no
              checking for mysql_error in -lmysqlclient... no
              configure: error: mysql configure failed. Please check config.log for more information.
              Und genau aus diesem config.log werde ich überhaupt nicht schlau. Zum posten ist es leider zu Lang (44423 Bytes).

              Ok.: vielleicht dazu mal meine Konfiguration...

              AMD64 3700+
              Linux x64 Debian(etch)
              MySQL 4.122 oder 5.1.26
              PHP4.4.8 oder 5.2.6

              Kompilierung schlägt bei jeder kombination der Versionsnummern fehl. Deswegen gehe ich davon aus das mir noch etwas fehlt...
              Die Zeile "/usr/bin/ld: cannot find -lmsql" im besagten "config.log" kommt mir schon irgendwie verdächtig vor...



              mfg
              C. Monroe
              Zuletzt geändert von Charles Monroe; 05.08.2008, 13:10.

              Kommentar

              Lädt...
              X