XSTL Extension einbinden

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

  • XSTL Extension einbinden

    hi!

    ich möchte die xstl funktionen mit hilfe der Sabloton erweiterung benutzen.
    dazu habe ich in der php.ini die zeile ;extension=php_sablot.dll
    entkommentiert.
    (sablot.dll ist vorhanden)
    sobald ich die zeile entkommentiere laufen alle php scripts nicht mehr - einfach keine reaktion.

    hat vielleicht jemand eine idee an was es liegen kann?

    thx
    broxx

  • #2
    Hast Du auch in der php.ini im Abschnitt "Paths and Directories" extension_dir gesetzt?

    ;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Paths and Directories ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;
    extension_dir = "c:\php\extensions" ; directory in which the loadable extensions (modules) reside

    Kommentar


    • #3
      Das müsste schon stimmen.
      Alle anderen Module funktionieren auch.

      Noch zu meiner Konfiguration:
      Win2000 - ISS 5 - PHP 4.1.1

      Habe aktuellen Expat eingespielt: 1.95.2
      Und Saplotron habe ich auch den aktuellsten: 0.80

      Also sobald ich die php_sablot.dll in der php.ini aktiviere hängen sich alle php-scripts auf.

      Gibt es vielleicht eine Alternative für XSL mit PHP?

      Kommentar


      • #4
        Tja. Wenn ich in meiner WAMP Installation in der php.ini die Zeile
        extension=php_sablot.dll
        aktiviere und danach den Apcahe restarte erscheint folgender Error:
        Code:
        PHP Warning:  Unable to load dynamic library 'c:\php\extensions/php_sablot.dll'
        - Ein der f³r die Ausf³hrung dieser Anwendung notwendige Bibliothekdateien kann
        nicht gefunden werden.
         in Unknown on line 0
        Apache/1.3.22 (Win32) PHP/4.0.6 running...
        Die DLL (php_sablot.dll) ist aber im richtigen Verzeichnis vorhanden und es geht auch nichts mehr, Apache reagiert auf keinen Request, obwohl "running..." angegeben wird.

        Unter Windows zeigt phpinfo() leider die Kompilationsoptionen, die bei der Kompilation verwendet wurden nicht an (unter Linux wird diese Info angezeigt).

        Ich vermute, daß PHP mit den zusätzlichen Optionen
        -with-sablot
        -enable-sablot-errors-descriptive
        zu kompilieren ist um das Feature nutzen zu können.

        Mit PHP Kompilation unter Windows habe ich aber nichts am Hut, da für mich eine WAMP-Installation im Gegensatz zu einer LAMP-Installation ein Spielzeug ist und ich mich in WAMP gar nicht vertiefen will.

        Sorry, hier endet mein Latein.

        Kommentar


        • #5
          Danke hand für deine Antwort!

          Kennt vielleicht jemand eine andere Lösung für PHP um XSLT Transformationen zu machen?
          Da ich das mit der Sablotron Extension nicht zum laufen bringe.

          thx
          broxx

          Kommentar


          • #6
            hi

            möcht euch nur die lösung die ich jetzt gefunden habe mitteilen:

            ich hab am webserver den Xalan C v1.3 installiert.
            das ist ein xsl parser der in c++ programmiert ist.
            also somit auch sehr schnell arbeitet.
            der webserver läuft mit win2000, somit hab ich die win32 distribution verwendet.
            im endeffekt ist das eine einfache exe mit ein paar dlls.
            von php aus rufe ich einfach diese xalan.exe auf und übergebe zwei parameter mit (das sind das xml und das xsl file).
            der parser liefert dann an das php script das geparste ergebnis zurück.

            ein einfacher phpcode zum ansprechen des xalan könnte so aussehen:

            //################################################
            function XSLparse($XMLFile, $XSLFile)
            {
            global $_SERVER;
            $AktVerz = str_replace("\\", "/", (stripslashes(dirname($_SERVER["PATH_TRANSLATED"]))));
            $SystemString = "D:/xalan/xalan $XMLFile $XSLFile";
            $output = `$SystemString`;
            return $output;
            }

            $Inhalt = XSLparse("buch.xml", "buch.xsl");

            echo $Inhalt;
            //##################################################

            das wärs

            Kommentar


            • #7
              Hi,

              hatte gerade das selbe Problem (PHP 4.2.1 win32):

              Ab php4.1.0 ist die offiz. Ext/xslt statt ext/sablot.

              Also versuchte ich die XSLT Extension ( php_xslt.dll ) per php.ini einzubinden und das OS klatschte mir meine Batchdatei um die Ohren:" findet zugehörige Dll´s nicht".

              Also habe ich die dependancy der php_xslt.dll untersucht und festgestellt, dass er die sablot.dll (Sablotron-Distribution) und die wiederum die libexpat.dll (Expat-Distribution) haben will.
              Laut win32-Install-Datei von Sablotron soll die SabCmd.exe noch mit reinkopiert werden. (alles win/system - Neustart nicht vergessen )

              Laut Samar, Stocker sind die Sablotron-Versionen ab 0.60 nicht lauffähig mit den Apache < 1.3.21, da der davor eine eigene Expat-Biblio (Expat-light) verwendet und es evt. zu Namenskollisionen kommt.

              @bronxx:
              Mich würde aber brennend interessieren, wie deine Resultate mit den Xalan Parser sind, weil der um ein vielfaches leistungsstärker ist als Sablotron. Ist ab PHP5 geplant Xalan mit einzubinden.
              Deshalb pusche ich den alten Thread nochmal.

              cu

              Blaster
              Zuletzt geändert von Blaster; 16.10.2002, 03:05.
              Yuppi, endlich Elite ...

              Kommentar

              Lädt...
              X