phpbar.de logo

Mailinglisten-Archive

[php] Problem mit XSLT,Sablotron,apache

[php] Problem mit XSLT,Sablotron,apache

Jochen Metzger php_(at)_phpcenter.de
Tue, 2 Jul 2002 08:21:38 +0200


Hi,
ich weiß es ist ein klein wenig OT, aber ich weiß mir nicht mehr zu helfen.
Bin seit 12 STunden an dem Thema dran, aber kriege es einfach nicht
hin.

Ich bin über XML/XSLT gestoßen und wollte das auch für uns implementieren.

Habe also php wie folgt kompiliert (4.2.1)
'./configure' '--with-mysql' '--with-apxs' '--enable-xslt'
'--with-xslt-sablot=/usr/local/lib'

So dann habe ich folgendes kleines Script geschrieben:
(s.u.)

Und habe einen SegmentationFault in den logs bekommen, Kind-Prozeß ist
abgeschmiert:
[Tue Jul  2 15:24:20 2002] [notice] child pid 539 exit signal Segmentation
fault (11)

Bei Nachforschungen habe ich dann herausgefunden, daß es an dem expat-lite
im apache liegen kann, habe also mit disable-rule=EXPAT kompiliert
-> selber effect.

Dann habe ich ein ./configure gemacht. -> hab sogar das ganze
Verzeichnis/src/lib/expat-lite vor dem Kompilieren rausgeschmissen und auch
in der Install-Sektion im MakeScript. und dann installiert.

Apache läuft danach auch wunderbar, bis eben auf sablotron....

Problem war immer noch da. Demnach kann es irgendwie nicht am apachen
liegen. Grübel, grübel.

Vielleicht sollte ich erst einmal sablotron testen.

Bin schon etwas frustiert, hänge da schon 12 STunden dran.

Das ist meine Konfiguration:
Apache 1.3.20 (Suse 7.2 - echt eine Ärger Eigenbrötler Distri)
php 4.2.1 (kompiliert:./configure' '--with-mysql' '--with-apxs'
'--enable-xslt' '--with-xslt-sablot=/usr/local/lib')

Hat jemand eine Idee:

Muß ich denn nach dem Rekompilieren von Apache, php auch noch einmal neue
kompilieren, damit es das richtig expat verwendet?

Und wie kann ich das ganze weiter debuggen -> entzerren?

Grüße

Jochen Metzger

---
Script

<?php
print "hans peter";

$xh = xslt_create();
// store XML and XSL content as variables
$xmlstring = join('', file('person.xml'));
$xslstring = join('', file('person.xsl'));


// call the XSLT processor directly
//xslt_process($xh,$xmlstring, $xslstring, "joga.xml");

$result = xslt_process($xh, $xmlstring,$xslstring);
if (!$result) {
    die(sprintf("Cannot process XSLT document [%d]: %s",
                xslt_errno($xh), xslt_error($xh)));
}

echo $result;

?>


php::bar PHP Wiki   -   Listenarchive