suit: short_open_tag: das *grrrrr* des Tages

Faktenlage: alter Server zu langsam, neuer Server musst her.

Neu aufgesetzt, selbstverständlich mit neuem, akteullen RHEL und PHP aus deren Paketverwaltung wo scheinbar short_open_tag per default abgeschaltet ist (warum auch immer). Zuvor war es ein RHEL mit eigenständigem PHP.

Hatte zur Folge, dass an irgendwelchen Ecken und Enden, von denen keiner wusste, dass es sie überhaupt noch gibt plöztlich der Source-Code ausgegben wurde.

Glücklicherweise war niemand von meinem "haben das Unternehmen schon vor Jahren verlassen"-Vorgängern so schlau um damit auch Konfigurationsfiles zu verfassen.

Ich hätte niemals gedacht, das mich irgendwann eine "Verlasst euch nicht auf das Vorhandensein von short_open_tag"-Warnung selbst treffen wird - aber es ist passiert.

Also nochmal:
Verlasst euch nicht auf das Vorhandensein von short_open_tag - es bricht euch nix ab, wenn ihr <?php statt <? notiet oder <?php echo statt <?= - es kann aber unangenehme Fehler vermeiden, wenn sich plätzlich irgend eine Distribution dazu entschließt, irgend ein default-Verhalten umzudrehen.

  1. Hi!

    Ich hätte niemals gedacht, das mich irgendwann eine "Verlasst euch nicht auf das Vorhandensein von short_open_tag"-Warnung selbst treffen wird - aber es ist passiert.

    Das Problem ist doch, dass du (oder wer auch immer) nicht die bisherigen Konfigurationswerte mit den neuen verglichen hast. Der Server steht völlig unter deiner Kontrolle, so dass du nicht angewiesen bist, dich auf Fremdeinstellungen verlassen zu müssen. Und selbst die kann man prüfen und mit seinen Anforderungen abgleichen (falls sie jemand zu Dokument gebracht hat).

    Also nochmal:
    Verlasst euch nicht auf das Vorhandensein von short_open_tag - es bricht euch nix ab, wenn ihr <?php statt <? notiet oder <?php echo statt <?= - es kann aber unangenehme Fehler vermeiden, wenn sich plätzlich irgend eine Distribution dazu entschließt, irgend ein default-Verhalten umzudrehen.

    Also eher: Verlasst euch nicht darauf, dass irgendwelche Konfigurationswerte so eingestellt sind, dass sie passen.

    Überprüf mal lieber noch die wesentlich kritischeren Dinge wie Register Globals, Magic Quotes, Safe Mode, Berechtigungen, eigene Verzeichnisse für temporäre Daten, Abschottung gegenüber anderen Anwendungen, ... und stell das short_open_tags wieder an. Das ist anscheinend bisher nicht mit einem XML-Vorspann kollidiert, also wird es das wohl auch nicht unbemerkt in Zukunft tun. Deine Anwendung scheint auch nicht zwingend auf Kompatibilität mit allen möglichen nicht änderbaren Vorgaben angewiesen zu sein, sprich: die setzt nur du/dein Unternehmen ein und sonst niemand.

    Lo!

    1. Das Problem ist doch, dass du (oder wer auch immer) nicht die bisherigen Konfigurationswerte mit den neuen verglichen hast.

      Ich war's nicht :) und ja, du hast recht, das ist das eigentliche Problem - die Konfiguration hätte verglichen werden sollen.

      Der Server steht völlig unter deiner Kontrolle, so dass du nicht angewiesen bist, dich auf Fremdeinstellungen verlassen zu müssen.

      Jein - es kommt öfter vor, dass jemand mit "Sack und Pack" auf einen Fremdserver umsiedeln will - die kommen dann meistens von einem österreichischen Unternehmen, was früher mal uns (den Bürgern) gehört hat, wir aber kürzlich wieder kaufen hätten sollen :)

      Also eher: Verlasst euch nicht darauf, dass irgendwelche Konfigurationswerte so eingestellt sind, dass sie passen.

      Das ist richtig - aber du weißt, wie es in der Praxis läuft: keine Zeit für nichts :)

      Überprüf mal lieber noch die wesentlich kritischeren Dinge wie Register Globals, Magic Quotes, Safe Mode, Berechtigungen, eigene Verzeichnisse für temporäre Daten, Abschottung gegenüber anderen Anwendungen, ... und stell das short_open_tags wieder an.

      Ist bereits wieder ein und selbstverständlich hab' ich die Konfiguration bereits durchkontrolliert -

      Das ist anscheinend bisher nicht mit einem XML-Vorspann kollidiert, also wird es das wohl auch nicht unbemerkt in Zukunft tun.

      Ja, ist es nicht - aber man weiß nie, welche Leichen man zu Tage fördert.

  2. Moin

    Also nochmal:
    Verlasst euch nicht auf das Vorhandensein von short_open_tag - es bricht euch nix ab, wenn ihr <?php statt <? notiet oder <?php echo statt <?= - es kann aber unangenehme Fehler vermeiden, wenn sich plätzlich irgend eine Distribution dazu entschließt, irgend ein default-Verhalten umzudrehen.

    Hm. Hatte ich nicht mit dir vor ein paar Jahren über genau diesen Fakt diskuttiert? Warst du nicht ein verfechter der Meinung das Short-Open-Tags immer eingeschaltet sind? Oder war das jemkand anders.

    Ich persönlich halte es mit der Schreibweise seit damals schon immer so, lieber die Ausführliche zu benutzen.

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ## Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    1. Warst du nicht ein verfechter der Meinung das Short-Open-Tags immer eingeschaltet sind? Oder war das jemkand anders.

      Nein, ich verfechte selten irgend eine "einzig wahre" Sache und versuche alle Seiten zu beleuchten - ich hab' grade die Suche bemühnt, die paar Beiträge die ich gefunden habe, waren allesamt ohne mit suit aber Bobby - und auch in diesen hab ich nie explizit eine Stellung bezogen.

    2. Es mag ja sein, das man sich bei <?php nichts abbricht, aber ich verwende oft HTML-Templates ohne irgendein kompliziertes Templatescript. . . einfach <?=$var?> und fertig. Wenn ich da mit <?php echo anfangen würde, würde die ganze Übersichtlichkeit flöten gehen.