Řešení 1:
Nejprve chci poděkovat binfalse za odpověď na tuto otázku, ale můj problém nebyl jeho návrhem vyřešen a upozornění se nadále zobrazovala.
Je to proto, že PHP má několik míst, kde lze konfiguraci nastavit. I když jsem měl představu o přednosti těchto nastavení, rozhodl jsem se je experimentálně otestovat, abych si byl jistý tím, co v této odpovědi řeknu.
Zde je tedy seznam těchto míst, od globálnějších po konkrétnější. Každé nastavení níže v seznamu může přepsat předchozí nastavení.
-
php.ini konfigurační soubor. V případě Ubuntu jsou dva, /etc/php5/apache2/php.ini je ten, který se používá pro php modul apache. Bude mít globální účinek na všechny virtuální hostitele.
-
Adresář conf.d . Ve skutečnosti ne všechny instalace budou mít tuto modulární konfiguraci, ale v případě Ubuntu je umístěn v /etc/php5/apache2/conf.d pro modul apache. Jakýkoli soubor přidaný v tomto adresáři bude přidán do hlavní konfigurace php.ini s vyšší prioritou než php.ini. Jinými slovy jakékoli nastavení zde přepíše nastavení v php.ini - testoval jsem přidání error.ini. Bude mít globální účinek na všechny virtuální hostitele.
-
Konfigurace virtuálního hostitele Apache . Obecně se nastavuje v /etc/apache2/sites-available, každý virtuální hostitel může mít různá nastavení. Uvnitř tagu VirtualHost je možné zahrnout "php_value error_reporting", kde hodnota je číselný výsledek booleovských operací s konstantami. V této konfiguraci ve skutečnosti není dovoleno používat mnemotechnické konstanty, ale pouze číselnou hodnotu. Bude to mít vliv pouze na jednoho virtuálního hostitele. Přepíše výše uvedená nastavení.
-
.htaccess . Je také možné nastavit konfigurační hodnoty a zejména nastavení error_reporting také v .htaccess, se stejnou syntaxí popsanou v 3. Ovlivní pouze adresář, ve kterém je umístěn .htaccess a všechny podadresáře. Přepíše výše uvedená nastavení, v tomto případě není nutné restartovat apache.
-
Zdrojový kód . Poslední místo, kde lze toto nastavení změnit, je přímo ve spuštěném zdroji PHP. Pokud je použit, přepíše všechna předchozí nastavení, a to je přesně to, čemu jsem čelil. Lze nastavit volání funkce "error_reporting()" nebo pomocí "ini_set("error_reporting", )". Chyby kompilace se mohou stále zobrazovat, protože skript se v takovém případě nespustí.
Řešení 2:
Nastavte proměnnou v /etc/php5/apache2/php.ini
do
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
toto zobrazí pouze chyby.