Solution 1 :
Tout d'abord, je tiens à remercier binfalse d'avoir répondu à cette question, mais mon problème n'a pas été résolu avec sa suggestion et les avis ont continué à s'afficher.
C'est parce que PHP a plusieurs endroits où la configuration peut être définie. Alors que j'avais une idée de la priorité de ces paramètres, j'ai décidé de les tester expérimentalement pour être sûr de ce que je vais dire dans cette réponse.
Voici donc une liste de ces lieux, du plus global au plus spécifique. Chaque paramètre situé plus bas dans la liste peut remplacer un paramètre qui précède.
-
Le php.ini fichier de configuration. Dans le cas d'Ubuntu, il y en a deux, /etc/php5/apache2/php.ini est celui utilisé pour le module php apache. Cela aura un effet global sur tous les hôtes virtuels.
-
Le répertoire conf.d . En fait, toutes les installations n'auront pas cette configuration modulaire, mais dans le cas d'Ubuntu se trouve dans /etc/php5/apache2/conf.d pour le module apache. Tout fichier ajouté dans ce répertoire sera ajouté à la configuration principale de php.ini avec une priorité plus élevée que php.ini. En d'autres termes, tout paramètre ici remplacera les paramètres de php.ini - j'ai testé l'ajout d'un error.ini. Cela aura un effet global sur tous les hôtes virtuels.
-
Configuration de l'hôte virtuel Apache . Généralement défini dans /etc/apache2/sites-available, chaque hôte virtuel peut avoir des paramètres différents. Dans la balise VirtualHost, il est possible d'inclure "php_value error_reporting ", où value est le résultat numérique des opérations booléennes sur les constantes. Dans cette configuration, il n'est en effet pas permis d'utiliser les constantes mnémoniques mais uniquement une valeur numérique. Cela n'affectera qu'un seul hôte virtuel. Il remplacera les paramètres ci-dessus.
-
.htaccess . Il est également possible de définir des valeurs de configuration et en particulier le paramètre error_reporting également dans .htaccess, avec la même syntaxe décrite dans 3. Cela n'affectera que le répertoire dans lequel se trouve .htaccess et tous les sous-répertoires. Il remplacera les paramètres ci-dessus, dans ce cas, il n'est pas nécessaire de redémarrer apache.
-
Code source . Le dernier endroit où ce paramètre peut être modifié est directement dans la source PHP exécutée. S'il est utilisé, il remplacera tous les paramètres précédents, et c'est exactement ce à quoi je faisais face. Il peut être défini en appelant la fonction "error_reporting()" ou avec "ini_set("error_reporting", )". Des erreurs de compilation peuvent toujours s'afficher, car le script ne sera pas exécuté dans ce cas.
Solution 2 :
Définissez la variable dans /etc/php5/apache2/php.ini
à
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
cela n'affichera que les erreurs.