175 votes

Erreur de normes strictes désactivées par PHP 5

J'ai besoin de configurer mon script PHP en haut pour désactiver le rapport d'erreur pour des normes strictes.

Quelqu'un peut-il m'aider ?

8 votes

@451F : Je pense que les mots clés ici sont "normes strictes". Je ne connais pas les versions précédentes, mais avec PHP 5.4.0, il est recommandé de définir le rapport d'erreur à E_ALL & ~E_DEPRECATED & ~E_STRICT pour la production. Notez qu'ils vous suggèrent de désactiver des normes strictes.

0 votes

Trouvez également votre fichier php.ini et copiez-le dans /usr/local/php5/lib/.

4voto

Nicola Peluchetti Points 38948

WordPress

Si vous travaillez dans l'environnement wordpress, Wordpress définit le niveau d'erreur dans le fichier wp-includes/load.php dans la fonction wp_debug_mode() . Vous devez donc changer le niveau APRÈS que cette fonction ait été appelée (dans un fichier qui n'est pas enregistré dans git, donc uniquement pour le développement), ou bien modifier directement la fonction error_reporting() appelez

2voto

Jay Points 1346

Je n'ai pas vu de réponse propre et adaptée à un logiciel prêt à être mis en production, alors la voici :

/*
 * Get current error_reporting value,
 * so that we don't lose preferences set in php.ini and .htaccess
 * and accidently reenable message types disabled in those.
 *
 * If you want to disable e.g. E_STRICT on a global level,
 * use php.ini (or .htaccess for folder-level)
 */
$old_error_reporting = error_reporting();

/*
 * Disable E_STRICT on top of current error_reporting.
 *
 * Note: do NOT use ^ for disabling error message types,
 * as ^ will re-ENABLE the message type if it happens to be disabled already!
 */
error_reporting($old_error_reporting & ~E_STRICT);

// code that should not emit E_STRICT messages goes here

/*
 * Optional, depending on if/what code comes after.
 * Restore old settings.
 */
error_reporting($old_error_reporting);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X