e_all code> est égal 8191 ( 0001 1111 1111 1111 code>) li>
-
e_strict code> est égal 2048 ( 0000 1000 0000 0000 code>) li>
Utilisation du bitwise ou pour les combiner: P>
1 1111 1111 1111
4 Réponses :
Vous voulez: Toutes les erreurs et avertissements, tels que supportés,
Sauf niveau de niveau 32767 en php 5.4.x, 30719 dans PHP 5.3.x,
6143 dans php 5.2.x, 2047 auparavant p>
blockQuote> p> e_all code> n'inclut pas
e_truct code> (sauf si vous utilisez PHP 5.4+). Vos valeurs sont incorrectes. De constantes prédéfinies
e_all code> est définie comme suit: P>
e_truct code> avant PHP 5.4. P>
Je vois que cela signifie que les valeurs constantes vont changer à mesure que la version change. Les valeurs que j'ai trouvées proviennent de w3schools.com/php/func_error_reporting.asp Ils sont très obsolète, non?
W3schools peut avoir des informations très obsolètes. Je vais toujours aller à php.net comme première référence pour quelque chose de lié à PHP.
Dans PHP 5.4, e_strict code> est inclus dans
e_all code>.
1 | 1 = 1 p>
La réponse la plus simple possible est qu'il n'y a actuellement aucune raison de combiner les deux avec un boeuf ou une opération, mais s'ils décident de changer ces constantes à l'avenir, il pourrait y avoir. p>
Edit: Et vous semblez avoir tiré les mauvaises valeurs pour ces constantes, rendant toute la question de la question. P>
de php.net: p>
Passage dans la valeur -1 montrera toutes les erreurs possibles, même lorsque de nouveaux niveaux et constantes sont ajoutés dans les futures versions PHP. La constante E_All se comporte également de cette façon comme de PHP 5.4. p>
Les valeurs de bit fournies dans la question ne sont généralement pas fausses, mais uniquement pour les versions PHP plus âgées que 5.4.
E_All code> Inclut
E_Strict < / code> Vous devez donc utiliser:
error_rporting (e_all); code> p>
php 5.3 h3>
e_all code> n'inclut pas
e_truct code> de sorte que vous devriez utiliser:
error_racting (e_all | e_strict); code> p>
PHP 5.0 jusqu'à 5.2 h3>
e_all code> n'inclut pas
e_strict code> afin que vous puissiez utiliser:
error_reporting (e_all | e_strict); code> mais les valeurs du bit diffèrent des valeurs dans PHP 5.3. P>
PHP avant 5,0 h3>
E_Strict code> n'existe pas, vous devez donc utiliser:
error_rporting (e_all); < / code> p> p>
J'ai remarqué qu'avec 5.4 que je puisse faire ce que je peux faire le suivant 1. Set e_all dans php.ini puis e_all | E_STRICT 2. Vérifiez que phpinfo () et la valeur pour la déclaration d'erreur est la même. Cela me semble un bug pour moi ....
Utilisez Maximivanov.github.io/php-error-Reporting-calculator à Créer une déclaration d'erreur de votre choix