96 votes

Désactiver les normes strictes en PHP 5.4

Je suis en train de faire tourner un site sur php 5.4, avant cela, je courais mon site sur 5.3.8. Malheureusement, le php 5.4 combine E_ALL et E_STRICT , ce qui signifie que mon réglage précédent pour error_reporting ne fonctionne pas maintenant. Ma valeur précédente était E_ALL & ~E_NOTICE & ~E_STRICT Dois-je juste activer les valeurs une par une?

J'ai trop d'erreurs et les fichiers contiennent trop de code pour que je puisse les réparer.

140voto

David Stockton Points 1336

Comme les commentateurs ont déclaré que la meilleure option est de corriger les erreurs, mais disposant de peu de temps ou de connaissance, qui n'est pas toujours possible. Dans votre php.ini modifier

error_reporting = E_ALL

pour

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

Si vous n'avez pas accès au php.ini, vous pouvez éventuellement mettre ceci dans votre .fichier htaccess:

php_value error_reporting 30711

C'est le E_ALL valeur (32767) et le retrait de la E_STRICT (2048) et E_NOTICE (8) les valeurs.

Si vous n'avez pas accès à l' .fichier htaccess ou il n'est pas activé, vous aurez probablement besoin de mettre le présent en haut de la PHP section de script qui est chargé à partir d'un navigateur composez le:

error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);

L'un de ceux qui devraient vous aider à être en mesure d'utiliser le logiciel. Les avis et stricte des choses sont des indicateurs de problèmes réels ou potentiels, bien que vous pouvez trouver le code ne fonctionne pas correctement en PHP 5.4.

Espérons que cette aide.

1voto

Guzik Points 31

Cela a fonctionné pour moi, quand j'ai mis error_reporting à deux endroits en même temps

quelque part dans le code PHP

 ini_set('error_reporting', 30711);
 


et dans le fichier .htaccess

 php_value error_reporting 30711
 

1voto

envision Points 157

Si vous devez également désactiver E_DEPRACATED, utilisez:

 php_value error_reporting 22527
 

Dans mon cas, CMS Made Simple se plaignait "E_STRICT est activé dans le rapport d'erreur" ainsi que "E_DEPRECATED est activé". L'ajout de cette ligne à .htaccess a résolu les deux problèmes de configuration.

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