mbr: Formmailer sendet nichts, sondern listet nur das PHP Script auf

Beitrag lesen

Hallo dedlfix,

error_reporting(-1);
php.net empfiehlt für den Einsatz von error_reporting vordefinierte Konstanten zu nehmen.

Diese Empfehlung kann ich auf der angegebenene Seite nicht finden.

Mein Fehler: ich hatte die falsche Seite verlinkt.
Auf der Seite zum error_reporting() steht es.

Abgesehen davon weiss ich nicht, was bei Übergabe von "-1" passiert. Auf jeden Fall entspricht -1 keinem der vorgesehenen Werte. Evtl. siehst du somit auftretende Fehler nicht.

-1 ist üblicherweise eine Zahl, bei der alle Bits gesetzt sind. Man macht sich dabei zunutze, dass Intergerzahlen praktisch nur im Zweierkomplement abgelegt werden. Am Ende zählt für die Funktion error_reporting() und die gleichnamige Direktive nur, welche Bits gesetzt sind. Bei -1 sind nun alle Bits gesetzt, auch die nicht verwendeten. Ergebnis ist, dass alle Optionen eingeschaltet sind. Die überflüssigen Bits stören nicht. -1 entspricht also praktisch einem E_ALL + E_STRICT (in PHP kleiner als 5.4, seit 5.4 ist E_STRICT in E_ALL enthalten).

Danke für die Erklärung. Ich hatte nur auf der zuerst angegebenen Seite den Kommentar Nummer zwei (von Andy at Azurite (co uk)) gelesen und das "*absolutely anything* could happen" gesehen und dachte, das hört sich nicht gut an. Ich gebe zu, dass ich den Kommentar nur überflogen hatte, ohne den tieferen Sinn sofort zu verstehen (Zweierkomplement ist mir schon ein Begriff, aber ich hatte übersehen, dass der Einwand mit den Einerkomplement oder Vorzeichenbit Systemen wohl eher akademischer Natur ist.) Was mich allerdings gewundert hatte, war, dass der Caezar hier im Forum etwas von einem weißem Bildschirm schrieb, obwohl ich zumindest einen von mehreren Syntaxfehlern sogar gesehen hatte, ohne das script selbst laufen zu lassen.

Viele Grüße

mbr