Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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