Dela via


Loggningsaktivitet

Ladda ned PHP-drivrutin

Som standard loggas inte fel och varningar som genereras av Microsoft-drivrutiner för PHP för SQL Server i PHP-systemloggen. I det här avsnittet beskrivs hur du konfigurerar aktivitet för drivrutinsloggning. Mer information om hur du konfigurerar PHP-felhanteringsinställningar som inte är specifika för drivrutinerna finns i PHP-dokumentationen.

Loggar aktivitet med hjälp av drivrutinen för PDO_SQLSRV

Den enda tillgängliga loggningskonfigurationen som är specifik för den PDO_SQLSRV drivrutinen är posten pdo_sqlsrv.log_severity i filen php.ini.

Lägg till följande i slutet av din php.ini-fil:

[pdo_sqlsrv]  
pdo_sqlsrv.log_severity = <number>  

log_severity kan vara något av följande värden:

Värde Description
0 Loggning är inaktiverat (är standard om ingenting har definierats).
-1 Anger att fel, varningar och meddelanden loggas.
1 Specificerar att fel loggas.
2 Anger att varningar loggas.
4 Anger att meddelanden loggas.

Loggningsinformation läggs till i filen phperrors.log.

PHP läser konfigurationsfilen vid initiering och lagrar data i en cache. Det tillhandahåller också ett API för att uppdatera dessa inställningar och använda direkt och skrivs till konfigurationsfilen. Med det här API:et kan programskript ändra inställningarna även efter PHP-initieringen.

Loggningsaktivitet med SQLSRV-drivrutinen

Om du vill aktivera loggning kan du använda funktionen sqlsrv_configure eller ändra php.ini-filen. Du kan logga aktivitet på initieringar, anslutningar, instruktioner eller felfunktioner. Du kan också ange om du vill logga fel, varningar, meddelanden eller alla tre.

Anmärkning

Du kan konfigurera platsen för loggfilen i php.ini-filen. Mer information finns i PHP-dokumentationen .

Aktivera loggning

Du kan aktivera loggning med hjälp av funktionen sqlsrv_configure för att ange ett värde för logSubsystems-inställningen . Följande kodrad konfigurerar till exempel drivrutinen för att logga aktivitet på anslutningar:

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);

I följande tabell beskrivs de konstanter som kan användas som värde för LogSubsystems-inställningen :

Värde (heltalsekvivalent inom parenteser) Description
SQLSRV_LOG_SYSTEM_ALL (-1) Aktiverar loggning av alla undersystem.
SQLSRV_LOG_SYSTEM_OFF (0) Inaktiverar loggning. Det här är standardinställningen.
SQLSRV_LOG_SYSTEM_INIT (1) Aktiverar loggning av initieringsaktivitet.
SQLSRV_LOG_SYSTEM_CONN (2) Aktiverar loggning av anslutningsaktivitet.
SQLSRV_LOG_SYSTEM_STMT (4) Aktiverar loggning av instruktionsaktivitet.
SQLSRV_LOG_SYSTEM_UTIL (8) Aktiverar loggning av felfunktionsaktivitet (till exempel handle_error och handle_warning).

Du kan ange mer än ett värde i taget för logSubsystems-inställningen med hjälp av den logiska OR-operatorn (|). Följande kodrad aktiverar till exempel loggning av aktivitet på både anslutningar och instruktioner:

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);

Du kan också aktivera loggning genom att ange ett heltalsvärde för logSubsystems-inställningen i php.ini-filen. Om du till exempel lägger till följande rad i [sqlsrv] avsnittet i php.ini-filen aktiveras loggning av anslutningsaktivitet:

sqlsrv.LogSubsystems = 2

Genom att lägga till heltalsvärden tillsammans kan du ange fler än ett alternativ i taget. Om du till exempel lägger till följande rad i [sqlsrv] avsnittet i php.ini-filen aktiveras loggning av anslutnings- och instruktionsaktivitet:

sqlsrv.LogSubsystems = 6

Loggningsfel, varningar och meddelanden

När du har aktiverat loggning måste du ange vad som ska loggas. Du kan logga ett eller flera av följande: fel, varningar och meddelanden. Följande kodrad anger till exempel att endast varningar loggas:

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);

Anmärkning

Standardinställningen för LogSeverity är SQLSRV_LOG_SEVERITY_ERROR. Om loggning är aktiverat och ingen inställning för LogSeverity har angetts loggas endast fel.

I följande tabell beskrivs de konstanter som kan användas som värde för logSeverity-inställningen :

Värde (heltalsekvivalent inom parenteser) Description
SQLSRV_LOG_SEVERITY_ALL (-1) Anger att fel, varningar och meddelanden loggas.
SQLSRV_LOG_SEVERITY_ERROR (1) Specificerar att fel loggas. Det här är standardinställningen.
SQLSRV_LOG_SEVERITY_WARNING (2) Anger att varningar loggas.
SQLSRV_LOG_SEVERITY_NOTICE (4) Anger att meddelanden loggas.

Du kan ange mer än ett värde i taget för LogSeverity-inställningen med hjälp av den logiska OR-operatorn (|). Följande kodrad anger till exempel att fel och varningar ska loggas:

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);

Anmärkning

Om du anger ett värde för LogSeverity-inställningen aktiveras inte loggning. Du måste aktivera loggning genom att ange ett värde för logSubsystems-inställningen och sedan ange allvarlighetsgraden för det som loggas genom att ange ett värde för LogSeverity.

Du kan också ange en inställning för LogSeverity-inställningen med hjälp av heltalsvärden i php.ini-filen. Om du till exempel lägger till följande rad i [sqlsrv] avsnittet i php.ini-filen kan du endast logga varningar:

sqlsrv.LogSeverity = 2

Genom att lägga till heltalsvärden tillsammans kan du ange fler än ett alternativ i taget. Om du till exempel lägger till följande rad i [sqlsrv] avsnittet i php.ini-filen kan du logga fel och varningar:

sqlsrv.LogSeverity = 3

Se även

Programmeringsguide för Microsoft-drivrutiner för PHP för SQL Server

Konstanter (Microsoft-drivrutiner för PHP för SQL Server)

sqlsrv_configure

sqlsrv_get_config

API-referens för SQLSRV-drivrutin