Sdílet prostřednictvím


Protokolování aktivit

Stáhnout ovladač PHP

Ve výchozím nastavení nejsou do systémového protokolu PHP protokolovány chyby a upozornění generované ovladači Microsoftu pro PHP pro SQL Server. Toto téma popisuje, jak nakonfigurovat aktivitu protokolování ovladačů. Další informace o konfiguraci nastavení zpracování chyb PHP, která nejsou specifická pro ovladače, najdete v dokumentaci k PHP.

Protokolování aktivity pomocí ovladače PDO_SQLSRV

Jedinou dostupnou konfigurací protokolování specifickou pro ovladač PDO_SQLSRV je položka pdo_sqlsrv.log_severity v souboru php.ini.

Na konec souboru php.ini přidejte následující:

[pdo_sqlsrv]  
pdo_sqlsrv.log_severity = <number>  

log_severity může být jedna z následujících hodnot:

Hodnota Description
0 Protokolování je vypnuté (výchozí hodnotou je, pokud není nic nastaveno).
-1 Určuje, že se protokolují chyby, upozornění a oznámení.
1 Určuje, že se protokolují chyby.
2 Určuje, že se zaznamenávají upozornění.
4 Určuje, že jsou upozornění zaznamenávána.

Do souboru phperrors.log se přidají informace o protokolování.

PHP čte konfigurační soubor při inicializaci a ukládá data do mezipaměti; poskytuje také rozhraní API pro aktualizaci těchto nastavení a použití okamžitě a je zapsáno do konfiguračního souboru. Toto rozhraní API umožňuje skriptům aplikací měnit nastavení i po inicializaci PHP.

Protokolování aktivity pomocí ovladače SQLSRV

Pokud chcete zapnout protokolování, můžete použít funkci sqlsrv_configure nebo můžete změnit php.ini soubor. Můžete zaznamenávat aktivitu u inicializací, připojení, prohlášení nebo chybových funkcí. Můžete také určit, jestli se mají protokolovat chyby, upozornění, oznámení nebo všechny tři.

Poznámka:

Umístění souboru protokolu můžete nakonfigurovat v souboru php.ini. Další podrobnosti najdete v dokumentaci k PHP .

Zapnutí protokolování

Protokolování můžete zapnout pomocí funkce sqlsrv_configure a zadat hodnotu pro nastavení LogSubsystems . Například následující řádek kódu konfiguruje ovladač pro protokolování aktivity připojení:

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);

Následující tabulka popisuje konstanty, které lze použít jako hodnotu pro nastavení LogSubsystems :

Hodnota (celočíselná ekvivalent v závorkách) Description
SQLSRV_LOG_SYSTEM_ALL (-1) Zapne protokolování všech subsystémů.
SQLSRV_LOG_SYSTEM_OFF (0) Vypne protokolování. Toto je výchozí hodnota.
SQLSRV_LOG_SYSTEM_INIT (1) Zapne protokolování inicializační aktivity.
SQLSRV_LOG_SYSTEM_CONN (2) Zapne protokolování aktivity připojení.
SQLSRV_LOG_SYSTEM_STMT (4) Zapne protokolování aktivity příkazů.
SQLSRV_LOG_SYSTEM_UTIL (8) Zapne protokolování aktivity chybových funkcí (například handle_error a handle_warning).

Pro nastavení LogSubsystems můžete nastavit více než jednu hodnotu najednou pomocí logického operátoru OR (|). Například následující řádek kódu zapne protokolování aktivity u připojení i příkazů:

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);

Protokolování můžete také zapnout zadáním celočíselné hodnoty pro nastavení LogSubsystems v souboru php.ini. Například přidáním následujícího řádku do [sqlsrv] části souboru php.ini zapnete protokolování aktivity připojení:

sqlsrv.LogSubsystems = 2

Přidáním celočíselné hodnoty můžete současně zadat více než jednu možnost. Například přidáním následujícího řádku do [sqlsrv] sekce souboru php.ini zapnete protokolování aktivit připojení a výkazů.

sqlsrv.LogSubsystems = 6

Protokolování chyb, upozornění a oznámení

Po zapnutí protokolování je nutné zadat, co se má protokolovat. Můžete protokolovat jednu nebo více z těchto věcí: chyby, varování a oznámení. Například následující řádek kódu určuje, že se protokolují pouze upozornění:

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);

Poznámka:

Výchozí nastavení logSeverity je SQLSRV_LOG_SEVERITY_ERROR. Pokud je protokolování zapnuté a není zadáno žádné nastavení logSeverity , protokolují se pouze chyby.

Následující tabulka popisuje konstanty, které lze použít jako hodnotu pro nastavení LogSeverity :

Hodnota (celočíselná ekvivalent v závorkách) Description
SQLSRV_LOG_SEVERITY_ALL (-1) Určuje, že se protokolují chyby, upozornění a oznámení.
SQLSRV_LOG_SEVERITY_ERROR (1) Určuje, že se protokolují chyby. Toto je výchozí hodnota.
SQLSRV_LOG_SEVERITY_WARNING (2) Určuje, že se zaznamenávají upozornění.
SQLSRV_LOG_SEVERITY_NOTICE (4) Určuje, že jsou upozornění zaznamenávána.

Pro nastavení LogSeverity můžete nastavit více než jednu hodnotu najednou pomocí logického operátoru OR (|). Například následující řádek kódu určuje, že chyby a upozornění by se měly protokolovat:

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);

Poznámka:

Zadání hodnoty pro nastavení LogSeverity nezapne protokolování. Protokolování je nutné zapnout zadáním hodnoty pro nastavení LogSubsystems a potom určit závažnost protokolování nastavením hodnoty logSeverity.

Nastavení logSeverity můžete také zadat pomocí celočíselné hodnoty v souboru php.ini. Například přidáním následujícího řádku do [sqlsrv] části souboru php.ini povolíte protokolování pouze upozornění:

sqlsrv.LogSeverity = 2

Přidáním celočíselné hodnoty můžete současně zadat více než jednu možnost. Například přidáním následujícího řádku do [sqlsrv] části souboru php.ini povolíte protokolování chyb a upozornění:

sqlsrv.LogSeverity = 3

Viz také

Průvodce programováním pro ovladače Microsoftu pro PHP pro SQL Server

Konstanty (ovladače Microsoftu pro PHP pro SQL Server)

sqlsrv_configure

sqlsrv_get_config

Referenční informace k rozhraní API ovladače SQLSRV