Astuces

De Wiki de Jordan LE NUFF
< Technique‎ | PHP
Sauter à la navigation Sauter à la recherche

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.