Journalisation de l’activité

Télécharger le pilote PHP

Par défaut, les erreurs et les avertissements générés par le Pilotes Microsoft SQL Server pour PHP ne sont pas consignés dans le journal système PHP. Cette rubrique explique comment configurer l’activité de journalisation des pilotes. Pour plus d’informations sur la configuration des paramètres de gestion des erreurs PHP qui ne sont pas spécifiques aux pilotes, consultez la documentation PHP.

Journalisation de l’activité à l’aide du pilote PDO_SQLSRV

La seule configuration de journalisation disponible pour le pilote PDO_SQLSRV est l’entrée pdo_sqlsrv.log_severity dans le fichier php.ini.

Ajoutez ce qui suit à la fin de votre fichier php.ini :

[pdo_sqlsrv]  
pdo_sqlsrv.log_severity = <number>  

log_severity peut avoir l’une des valeurs suivantes :

Valeur Description
0 La journalisation est désactivée (valeur par défaut si rien n’est défini).
-1 Spécifie que les erreurs, les avertissements et les notifications doivent être enregistrés.
1 Spécifie que les erreurs sont consignées.
2 Spécifie que les avertissements sont consignés.
4 Spécifie que les notifications sont consignées.

Les informations de journalisation seront ajoutées au fichier phperrors.log.

PHP lit le fichier de configuration lors de l’initialisation et stocke les données dans une mémoire cache. Il fournit aussi une API pour mettre à jour ces paramètres et les utiliser immédiatement, et est écrit dans le fichier de configuration. Cette API permet aux scripts d’application de modifier les paramètres même après l’initialisation de PHP.

Journalisation de l’activité à l’aide du pilote SQLSRV

Pour activer la journalisation, vous pouvez utiliser la fonction sqlsrv_configure ou modifier le fichier php.ini. Vous pouvez enregistrer l’activité en cas d’initialisation, de connexion, d’exécution d’instruction ou de fonction d’erreur. Vous pouvez également spécifier s’il faut enregistrer les erreurs, les avertissements, les avis ou les trois.

Notes

Vous pouvez configurer l’emplacement du fichier journal dans le fichier php.ini. Pour plus d’informations, consultez la documentation PHP.

Activation de la journalisation

Vous pouvez activer la journalisation en utilisant la fonction sqlsrv_configure pour spécifier la valeur du paramètre LogSubsystems. Par exemple, la ligne de code suivante configure le pilote pour enregistrer l’activité des connexions :

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);

Le tableau suivant décrit les constantes que vous pouvez utiliser comme valeur du paramètre LogSubsystems :

Valeur (entier équivalent entre parenthèses) Description
SQLSRV_LOG_SYSTEM_ALL (-1) Active la journalisation de tous les sous-systèmes.
SQLSRV_LOG_SYSTEM_OFF (0) Désactive la journalisation. Il s’agit de la valeur par défaut.
SQLSRV_LOG_SYSTEM_INIT (1) Active la journalisation de l’activité d’initialisation.
SQLSRV_LOG_SYSTEM_CONN (2) Active la journalisation de l’activité de connexion.
SQLSRV_LOG_SYSTEM_STMT (4) Active la journalisation de l’activité d’instruction.
SQLSRV_LOG_SYSTEM_UTIL (8) Active la journalisation de l’activité de fonctions d’erreur (telle que handle_error et handle_warning).

Vous pouvez définir plusieurs valeurs à la fois pour le paramètre LogSubsystems à l’aide de l’opérateur logique OR (|). Par exemple, la ligne de code suivante active la journalisation de l’activité pour les connexions et les instructions :

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);

Vous pouvez également activer la journalisation en spécifiant une valeur entière pour le paramètre LogSubsystems dans le fichier php.ini. Par exemple, ajoutez la ligne suivante à la section [sqlsrv] du fichier php.ini pour activer la journalisation de l’activité de connexion :

sqlsrv.LogSubsystems = 2

En ajoutant des valeurs entières, vous pouvez spécifier plusieurs options à la fois. Par exemple, ajoutez la ligne suivante à la section [sqlsrv] du fichier php.ini pour activer la journalisation de l’activité de connexion et d’instruction :

sqlsrv.LogSubsystems = 6

Journalisation des erreurs, avertissements et avis

Après avoir activé la journalisation, vous devez spécifier les éléments à enregistrer. Vous pouvez enregistrer un ou plusieurs des éléments suivants : erreurs, avertissements et avis. Par exemple, la ligne de code suivante spécifie que seuls les avertissements doivent être enregistrés :

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);

Notes

Le paramètre par défaut de LogSeverity est SQLSRV_LOG_SEVERITY_ERROR. Si la journalisation est activée et qu’aucun paramètre pour LogSeverity n’a été spécifié, seules les erreurs sont enregistrées.

Le tableau suivant décrit les constantes que vous pouvez utiliser comme valeur du paramètre LogSeverity :

Valeur (entier équivalent entre parenthèses) Description
SQLSRV_LOG_SEVERITY_ALL (-1) Spécifie que les erreurs, les avertissements et les notifications doivent être enregistrés.
SQLSRV_LOG_SEVERITY_ERROR (1) Spécifie que les erreurs sont consignées. Il s’agit de la valeur par défaut.
SQLSRV_LOG_SEVERITY_WARNING (2) Spécifie que les avertissements sont consignés.
SQLSRV_LOG_SEVERITY_NOTICE (4) Spécifie que les notifications sont consignées.

Vous pouvez définir plusieurs valeurs à la fois pour le paramètre LogSeverity à l’aide de l’opérateur logique OR (|). Par exemple, la ligne de code suivante spécifie que les erreurs et les avertissements doivent être enregistrés :

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);

Notes

Le fait de spécifier une valeur pour le paramètre LogSeverity n’active pas la journalisation. Pour activer la journalisation, attribuez une valeur au paramètre LogSubsystems, puis spécifiez la gravité des éléments enregistrés en affectant une valeur à LogSeverity.

Vous pouvez également affecter une valeur au paramètre LogSeverity en spécifiant des valeurs entières dans le fichier php.ini. Par exemple, ajoutez la ligne suivante à la section [sqlsrv] du fichier php.ini pour activer uniquement la journalisation des avertissements :

sqlsrv.LogSeverity = 2

En ajoutant des valeurs entières, vous pouvez spécifier plusieurs options à la fois. Par exemple, ajoutez la ligne suivante à la section [sqlsrv] du fichier php.ini pour activer la journalisation des erreurs et des avertissements :

sqlsrv.LogSeverity = 3

Voir aussi

Guide de programmation pour les pilotes Microsoft pour PHP pour SQL Server

Constantes (Microsoft Drivers for PHP for SQL Server)

sqlsrv_configure

sqlsrv_get_config

Informations de référence sur l’API du pilote SQLSRV