Astuces
(Page créée avec « ==Présentation== Cette page a pour objet de donner des astuces dans l'utilisation de PHP. ==Forcer l'apparition d'une erreur== Pour vérifier que le système de log fonc... ») |
|||
Ligne 1 : | Ligne 1 : | ||
==Présentation== | ==Présentation== | ||
Cette page a pour objet de donner des astuces dans l'utilisation de PHP. | Cette page a pour objet de donner des astuces dans l'utilisation de PHP. | ||
+ | |||
+ | ==Lister les en-têtes== | ||
+ | <syntaxhighlight lang="php"> | ||
+ | <?php | ||
+ | |||
+ | print("<pre>".print_r(getallheaders(),true)."</pre>"); | ||
+ | |||
+ | ?> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Désactiver la surcharge de l'error_reporting== | ||
+ | Certains CMS (et certaines applications également) surchargent la directive <code>error_reporting</code> au travers de [https://www.php.net/manual/fr/function.error-reporting.php la fonction du même nom : <code>error_reporting()</code>]. | ||
+ | |||
+ | Bien qu'une configuration avec une ligne telle que <code>php_admin_value[error_reporting]</code> bloque la modification de la directive <code>error_reporting</code> au travers d'[https://www.php.net/manual/fr/function.ini-set.php une fonction <code>ini_set()</code>], la modification reste possible au travers de [https://www.php.net/manual/fr/function.error-reporting.php la fonction <code>error_reporting()</code>]. | ||
+ | |||
+ | Ainsi, il faut également bloquer l'utilisation de [https://www.php.net/manual/fr/function.error-reporting.php la fonction <code>error_reporting()</code>]. Pour ce faire, ajouter la ligne suivante dans la configuration de PHP : | ||
+ | php_admin_value[disable_functions] = error_reporting | ||
==Forcer l'apparition d'une erreur== | ==Forcer l'apparition d'une erreur== | ||
Ligne 20 : | Ligne 37 : | ||
Dans le deux cas, analyser les résultats obtenus avec ceux attendus, et apporter les corrections nécessaires si besoin est. | Dans le deux cas, analyser les résultats obtenus avec ceux attendus, et apporter les corrections nécessaires si besoin est. | ||
+ | |||
+ | [[Category:PHP]] |
Version actuelle datée du 27 avril 2021 à 07:18
Sommaire
Présentation
Cette page a pour objet de donner des astuces dans l'utilisation de PHP.
Lister les en-têtes
<?php
print("<pre>".print_r(getallheaders(),true)."</pre>");
?>
Désactiver la surcharge de l'error_reporting
Certains CMS (et certaines applications également) surchargent la directive error_reporting
au travers de la fonction du même nom : error_reporting()
.
Bien qu'une configuration avec une ligne telle que php_admin_value[error_reporting]
bloque la modification de la directive error_reporting
au travers d'une fonction ini_set()
, la modification reste possible au travers de la fonction error_reporting()
.
Ainsi, il faut également bloquer l'utilisation de la fonction error_reporting()
. Pour ce faire, ajouter la ligne suivante dans la configuration de PHP :
php_admin_value[disable_functions] = error_reporting
Forcer l'apparition d'une erreur
Pour vérifier que le système de log fonctionne bien, il peut être utile de forcer l'apparition d'une erreur.
Pour ce faire, créer un fichier test.php
avec le contenu suivant :
<?php
if ($divisor == 0) {
trigger_error("Impossible de diviser par zéro", E_USER_ERROR);
}
?>
Pour tester le fichier de log principal défini dans le fichier php.ini
, appeler ce fichier en ligne de commande avec PHP comme ceci :
php test.php
Pour tester la configuration spécifique du log à un vhost, déposer le fichier test.php
à un endroit accessible du site correspondant au vhost, et l'appeler directement via son URL.
Dans le deux cas, analyser les résultats obtenus avec ceux attendus, et apporter les corrections nécessaires si besoin est.