Tach!
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.
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).
dedlfix.