Lösung 1:
Zunächst möchte ich mich bei binfalse für die Beantwortung dieser Frage bedanken, jedoch wurde mein Problem mit seinem Vorschlag nicht gelöst und es wurden weiterhin Hinweise angezeigt.
Dies liegt daran, dass PHP mehrere Stellen hat, an denen die Konfiguration festgelegt werden kann. Obwohl ich eine Vorstellung von der Priorität dieser Einstellungen hatte, beschloss ich, sie experimentell zu testen, um sicher zu sein, was ich in dieser Antwort sagen werde.
Hier ist also eine Liste dieser Orte, von globaler bis spezifischer. Jede Einstellung weiter unten in der Liste kann eine vorherige Einstellung außer Kraft setzen.
-
Die php.ini Konfigurationsdatei. Im Falle von Ubuntu gibt es zwei davon, /etc/php5/apache2/php.ini ist diejenige, die für das PHP-Apache-Modul verwendet wird. Es wirkt sich global auf alle virtuellen Hosts aus.
-
Das conf.d-Verzeichnis . Tatsächlich werden nicht alle Installationen diese modularisierte Konfiguration haben, aber im Falle von Ubuntu befindet sich das Apache-Modul in /etc/php5/apache2/conf.d. Jede in diesem Verzeichnis hinzugefügte Datei wird der Hauptkonfiguration von php.ini mit höherer Priorität als php.ini hinzugefügt. Mit anderen Worten, jede Einstellung hier überschreibt die Einstellungen in php.ini - ich habe das Hinzufügen einer error.ini getestet. Es wird globale Auswirkungen auf alle virtuellen Hosts haben.
-
Konfiguration des virtuellen Apache-Hosts . Im Allgemeinen in /etc/apache2/sites-available eingestellt, kann jeder virtuelle Host unterschiedliche Einstellungen haben. Innerhalb des VirtualHost-Tags ist es möglich, "php_value error_reporting " einzufügen, wobei value das numerische Ergebnis der booleschen Operationen an den Konstanten ist. In dieser Konfiguration dürfen nämlich keine mnemonischen Konstanten verwendet werden, sondern nur ein numerischer Wert. Es betrifft nur einen einzigen virtuellen Host. Die obigen Einstellungen werden überschrieben.
-
.htaccess . Es ist auch möglich, Konfigurationswerte und insbesondere die Einstellung error_reporting auch in .htaccess zu setzen, mit der gleichen Syntax wie in 3 beschrieben. Es betrifft nur das Verzeichnis, in dem sich .htaccess befindet, und alle Unterverzeichnisse. Es überschreibt die obigen Einstellungen, in diesem Fall ist es nicht notwendig, Apache neu zu starten.
-
Quellcode . Die letzte Stelle, an der diese Einstellung geändert werden kann, ist direkt in der ausgeführten PHP-Quelle. Wenn verwendet, werden alle vorherigen Einstellungen überschrieben, und genau das hatte ich vor. Es kann mit der Funktion "error_reporting()" oder mit "ini_set("error_reporting", )" gesetzt werden. Kompilierungsfehler können trotzdem angezeigt werden, da das Skript in diesem Fall nicht ausgeführt wird.
Lösung 2:
Legen Sie die Variable in /etc/php5/apache2/php.ini
fest zu
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
dies zeigt nur Fehler an.