Changer le rapport d'erreur php, Pour cacher des avertissements uniquement pour un site spécifique [Debian | Ubuntu]

Imaginez un couple

sites-enabled

Disponible S.

/etc/apache2/sites-available

. (Alors seulement des distributions basées sur Debian.)

Est-il possible d'éteindre le son

warning

Messages de scripts php de

Site spécifique

, Ne touchez pas réel

htdocs

?

Habituellement, plusieurs solutions vous permettent de réaliser quoi que ce soit:

Ajouter

error_reporting()

Directive, par exemple

error_reporting(E_ERROR);

Scripts exécutables.

Installer php_flags dans

.htaccess

Ces fichiers:

php_flag display_errors off

Utilisation

ini_set

Scripts à l'intérieur:

ini_set('display_errors', 'Off');
ini_set('display_startup_errors', 'Off');
error_reporting(0);

Préparer

@

Fonctions qui donnent des avertissements ou des erreurs.

+ Changement

php.ini

effectivement dire


error_reporting = E_ALL ^ E_WARNING


display_errors = 1

Cependant, tout cela signifie toucher htdocs ou application globale des changements. Imaginer

htdocs

Monté uniquement pour la lecture. Comment supprimer des avertissements (ou des notifications) Seulement pour certains sites?

je suppose que Debian / Ubuntu Il a

a2ensite

Certaines configurations pour une raison quelconque, et j'espère que je peux les changer. Est

log_level

Dans l'exemple de configuration site available, Mais il traite le nombre de messages enregistrés. Pas de messages affichés par des scripts php.

Ajout manuel des sections dans

php.ini

ou

apache2.conf

ou

httpd.conf

Cela fonctionnera également. Si possible.

Voir également:

http://www.php.net/manual/en/f ... g.php
Invité:

Emilie

Confirmation de:

Si vous avez accès à des configurations apache vhost, Bien sûr, vous pouvez également utiliser des directives. php_flag Dans un hôte virtuel dans le catalogue sites-available. Ainsi, ils s'appliquent seulement à cela vhost.

Ajoutez quelque chose comme ça dans votre hôte virtuel:

<ifmodule mod_php5.c="">
php_admin_flag display_errors off
</ifmodule>

ÉDITER:

Si vous ne voulez que des erreurs réelles, vous pouvez utiliser la directive. php

error_reporting

Avec une valeur entière décrivant les types de niveaux d'erreur que vous souhaitez afficher:

<ifmodule mod_php5.c="">
php_admin_flag display_errors on
php_admin_value error_reporting 22517
</ifmodule>

Cela équivaut à définir

error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED;

dans php.ini. Valeurs claires, par exemple, ici:

https://web.archive.org/web/20 ... tings
Calculatrice de message d'erreur:

http://www.bx.com.au/tools/ult ... izard

Catherine

Confirmation de:

J'ai ajouté :

<ifmodule mod_php5.c="">
php_admin_flag display_errors on
php_admin_value error_reporting 30711
</ifmodule>

dans / etc / apache2 / sites-enabled / work, Et tout fonctionne bien.

Oui, je sais que je dois résoudre ces notifications, mais je travaille sur un ancien script et je devrai lui retourner, car maintenant cela résolu mon problème, et c'est ce que l'opérateur cherchait. J'espère que cela aidera quelqu'un.

Dominique

Confirmation de:

Il est impossible de le faire sans .htaccess ou application de configuration globale. Apache ne peut pas "voir" des fichiers en dehors de leur dossier racine (htdocs), Et fichiers .htaccess Travailler uniquement dans le dossier de site. php_flag aussi ne fonctionne pas à l'extérieur .htaccess.

Ainsi, il est impossible de faire sans

quelques

Modifications ou fichier .htaccess.

Pour répondre aux questions, connectez-vous ou registre