lighttpd, PHP und XML

Chuzpe

New Member
Hi! Ich habe gerade folgendes Problem, schon vieles Versucht, bin aber nun leider echt am verzweifeln:

Wir haben ein paar unserer Server von Apache auf Lighttpd mit PHP per FastCGI umgestellt und seitdem lädt der unser mp3-Player auf der Seite (wimpy) die Playlisten nicht mehr. Diese werden mit PHP dymisch erstellt und als XML ausgegeben, z.B. so:

Code:
<?php header("Pragma: public");
header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Content-Type: text/xml");
echo('<?xml version="1.0"?>');
[...datenbankanbindung...] ?>

<playlist>
<item>
<filename>http//www.mydomain.com/<?php echo $filename; ?></filename>
<title><?php echo $title; ?></title>
</item>
</playlist>

Auf dem Apache funktionierte dies wunderbar, nun seit der Umstellung zu lighttpd leider nicht mehr.

Hat jemand eine Idee, wo sich der Fehler verstecken könnte?

Beste Grüße,
Alex
 
Hast du das resultierende XML-Dokument mal validiert?

Du baust das XML selber zusammen. Das ist nicht unbedingt eine gute Idee, da man mit PHP XML auch "ordentlich" erzeugen kann. Siehe PHP: DOM XML - Manual

Du gibst im XML-Header kein Encoding an - das bedeutet implizit UTF8. Evtl. hast du ein Charset-Problem und dein Dokument hat ein anderes Encoding und ist dadurch nicht well-formed.

Dein Codeschnipsel enthält auch keine sichtbare Encodierung des Outputs. Da kann dir auch schon ein einzelnes in UTF8 ungültiges Zeichen (z.B. ein ISO-Umlaut oder ein &-Zeichen) das Resultat invalidieren.
 
Last edited by a moderator:
Back
Top