Ulrich: XHTML als PHP parsen lassen

Hallo zusammen,

Ich habe eine Datei, als HTML 1.0 strict deklariert, in der einige PHP Bereiche eingebettet werden. (Also .php Dateiendung)
Setze ich die XML Deklaration ein:
<?xml version="1.0" encoding="iso-8859-1"?>
dann wird ein Fehler ausgegeben, weil nach <? PHP geparst wird.

Daraufhin habe ich in der php.ini folgende Zeile geändert:
short_open_tag = Off
jedoch ohne Erfolg. (Ich habe verschiedene php.inis, je nach PHP Version- ich hab's in _allen_ geändert. Sowie anschließend den Apachen neu gestartet)
Das wundert mich, da ich erwartet hätte, die Fehlermeldung hätte danach verschwinden müssen. Kann jemand erklären, warum nicht?

Das ist aber nur Nebenschauplatz.
Auf gemietetem Webspace könnte ich die php.ini wahrscheinlich nur mit Mühe ändern (lassen).
Wäre es eine sinnvolle Alternative die XML Deklaration als PHP echo auszugeben?
z.B.
<?php echo '<?xml version="1.0" encoding="iso-8859-1"?>' ?>
oder wäre das sinnlos? Ich würde sie gerne angeben, um zu verhindern daß UTF-8 verwendet wird, wie beim Validator, wenn er die XML Deklaration nicht findet.
Analoge Angaben in meta-tags scheint er in dem Fall zu ignorieren.

Oder wäre es sinniger in einem solchen Fall HTML4.01strict zu verwenden.
Ich freue mich auf Eure Meinung.

mfG
Ulrich

  1. hi,

    Daraufhin habe ich in der php.ini folgende Zeile geändert:
    short_open_tag = Off
    jedoch ohne Erfolg. (Ich habe verschiedene php.inis, je nach PHP Version- ich hab's in _allen_ geändert. Sowie anschließend den Apachen neu gestartet)

    Bei "mehreren php.inis" ist Verwechslung ja fast vorprogrammiert.

    Das wundert mich, da ich erwartet hätte, die Fehlermeldung hätte danach verschwinden müssen. Kann jemand erklären, warum nicht?

    Hast du _kontrolliert_, ob die Konfiguration dieser Einstellung wie gewünscht übernommen wurde?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi,

      Daraufhin habe ich in der php.ini folgende Zeile geändert:
      short_open_tag = Off
      jedoch ohne Erfolg. (Ich habe verschiedene php.inis, je nach PHP Version- ich hab's in _allen_ geändert. Sowie anschließend den Apachen neu gestartet)

      Bei "mehreren php.inis" ist Verwechslung ja fast vorprogrammiert.

      ich habe auch mehrere. Ist das unnormal?

      Schöne Grüße
      Julian

      1. Hi,

        ich habe auch mehrere. Ist das unnormal?

        Wenn du nicht weisst, welche wofür ist, dann JA.

        1. Hi,

          ich habe auch mehrere. Ist das unnormal?

          Wenn du nicht weisst, welche wofür ist, dann JA.

          ist PHP selbst auch unnormal, wenn man es nicht schreiben kann?

          Schöne Grüße
          Julian

          1. ist PHP selbst auch unnormal, wenn man es nicht schreiben kann?

            Nein, aber das ist ja auch ein kleiner Unterschied.
            PHP benötigst du, um Scripte auszuführen.

            Wenn du aber nicht verschiedene PHP-Versionen hast, benötigst du nur eine php.ini
            Wenn du kein PHP kannst, halte ich es für ziemlich unmöglich, das du mehrere Versionen von PHP benötigst ;)

            1. Hi,

              ist PHP selbst auch unnormal, wenn man es nicht schreiben kann?

              Nein, aber das ist ja auch ein kleiner Unterschied.
              PHP benötigst du, um Scripte auszuführen.

              Wenn du aber nicht verschiedene PHP-Versionen hast, benötigst du nur eine php.ini
              Wenn du kein PHP kannst, halte ich es für ziemlich unmöglich, das du mehrere Versionen von PHP benötigst ;)

              mein System hat für php-cli und apache-php automatisch extra php.ini's angelegt. Nur weil ich keine Ahnung habe, für was welche php.ini ist, heißt das nicht dass das keine sinnvolle Vorgehensweise ist, wenn ich PHP kann.

              Schöne Grüße
              Julian

    2. Moin,

      Bei "mehreren php.inis" ist Verwechslung ja fast vorprogrammiert.

      Daher habe ich es auch in allen geändert.

      Hast du _kontrolliert_, ob die Konfiguration dieser Einstellung wie gewünscht übernommen wurde?

      Nicht direkt. Aber ich entnehme Deiner Antwort, daß das umstellen short tags auf off eigentlich hätte funktionieren müssen.
      Ok, das sehe ich mir mal an. Ich denke wenn ich einmal
      <? echo "Shorttag" ?>
      und das anderemal
      <?php echo "Longtag" ?> parsen lasse müßte das klar werden.

      -> fast peinlich, die eigentlich wichtige php.ini in 'apache/config/' habe ich natürlich übersehen. Ok, das hat sich nun erledigt, short tags sind "off" und damit funktioniert auch die XML Deklaration.
      X-)

      Doch wie gesagt. Für einen nicht vom mir konfigurierbaren Webspace mit short tags on, wäre das dann sowieso zweitrangig. Der zweite Teil meiner Frage wäre mir also noch wichtiger zu wissen.

      Danke
      Ulrich

      1. hi,

        Für einen nicht vom mir konfigurierbaren Webspace mit short tags on, wäre das dann sowieso zweitrangig.

        Nicht mal per .htaccess o.ä.?

        Der zweite Teil meiner Frage wäre mir also noch wichtiger zu wissen.

        http://www.php-faq.de/q/q-fehler-shorttags-xml.html

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          Danke für den Link. Ist sehr ähnlich meinen Überlegungen, aber nun bin ich sicher über das entsprechende Vorgehen.

          Bedankt.
          netten Tag

          Ulrich

          1. Hallo,

            Danke für den Link. Ist sehr ähnlich meinen Überlegungen, aber nun bin ich sicher über das entsprechende Vorgehen.

            Wobei solche Sachen auch am Header erkannt werden, und in der .htaccess konfiguriert werden können. Wenn man die XHTML-Dateien dann abspeichern möchte reicht dann auch der <meta>-Tag. Immerhin ist der <xml>-Prolog ja optional.

            Grüße
            Jeena Paradies

            1. Hi,

              Wenn man die XHTML-Dateien dann abspeichern möchte reicht dann auch der <meta>-Tag. Immerhin ist der <xml>-Prolog ja optional.

              Jein. Es kommt auf auf en Doctype an. Außerdem geht es Ulrich ja darum:

              zu verhindern daß UTF-8 verwendet wird, wie beim Validator, wenn er die XML Deklaration nicht findet.

              Hier ist höchstwahrscheinlich Validome gemeint, der die Spezifikation wohl extrem genau auslegt.

              freundliche Grüße
              Ingo