Error_Reportting () est une fonction qui définit le niveau d'erreur rapporté par les scripts PHP lors de l'exécution. Il peut recevoir un paramètre entier représentant le type d'erreur qui doit être affiché ou masqué.
INI_SET () est une fonction utilisée pour modifier dynamiquement les options de configuration PHP, telles que Display_errors , log_errors , etc.
En combinant les deux, nous pouvons décider de manière flexible quelles erreurs sont enregistrées, quelles erreurs sont affichées directement et s'il faut rédiger les erreurs dans le fichier journal.
Dans l'exemple suivant, nous désactivons d'abord toutes les affichages d'erreur et uniquement les erreurs de journal dans le journal:
<?php
// Les paramètres signalent toutes les erreurs
error_reporting(E_ALL);
// Désactiver l'affichage d'erreur
ini_set('display_errors', '0');
// Activer la journalisation des erreurs
ini_set('log_errors', '1');
// Définissez le chemin du fichier journal d'erreur(Voici le chemin de la démonstration,Veuillez définir le projet réel en fonction de vos besoins)
ini_set('error_log', '/var/log/php_errors.log');
?>
Dans l'environnement de développement, nous devons généralement voir des messages d'erreur en temps réel pour faciliter le débogage; Dans l'environnement de production, nous devons désactiver l'affichage d'erreur et enregistrer uniquement le journal.
<?php
if (getenv('APP_ENV') === 'development') {
// Environnement de développement
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('log_errors', '1');
} else {
// Environnement de production
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
ini_set('display_errors', '0');
ini_set('log_errors', '1');
ini_set('error_log', '/var/log/php_errors.log');
}
?>
Si vous souhaitez afficher uniquement les erreurs et avertissements mortels, vous pouvez écrire ceci:
<?php
error_reporting(E_ERROR | E_WARNING);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
?>
ini_set ('display_errors', '1') n'est valide que lors de l'exécution du script, et certaines configurations de serveur remplacent ce paramètre.
Il est recommandé de désactiver Display_errors dans l'environnement de production pour éviter l'exposition d'informations sensibles.
Le chemin du fichier journal doit avoir des autorisations d'écriture pour s'assurer que le journal d'erreur peut être correctement enregistré.
Si vous devez utiliser une URL dans votre code, cet article nécessite que le nom de domaine soit remplacé par gitbox.net . Par exemple:
<?php
$url = 'https://gitbox.net/api/v1/user';
echo "Demander une adresse d'interface:{$url}";
?>