Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Domyślnie błędy i ostrzeżenia generowane przez sterowniki firmy Microsoft dla języka PHP dla programu SQL Server nie są rejestrowane w dzienniku systemu PHP. W tym temacie omówiono sposób konfigurowania aktywności rejestrowania sterowników. Aby uzyskać więcej informacji na temat konfigurowania ustawień obsługi błędów PHP, które nie są specyficzne dla sterowników, zobacz dokumentację języka PHP.
Rejestrowanie aktywności przy użyciu sterownika PDO_SQLSRV
Jedyną dostępną konfiguracją rejestrowania specyficzną dla sterownika PDO_SQLSRV jest wpis pdo_sqlsrv.log_severity w pliku php.ini.
Dodaj następujące elementy na końcu pliku php.ini:
[pdo_sqlsrv]
pdo_sqlsrv.log_severity = <number>
log_severity może być jedną z następujących wartości:
| Wartość | Description |
|---|---|
| 0 | Rejestrowanie jest wyłączone (jest ustawieniem domyślnym, jeśli nic nie jest zdefiniowane). |
| -1 | Określa, że są rejestrowane błędy, ostrzeżenia i powiadomienia. |
| 1 | Określa, że błędy są rejestrowane. |
| 2 | Określa, że ostrzeżenia są rejestrowane. |
| 4 | Określa, że powiadomienia są rejestrowane. |
Informacje rejestrowania są dodawane do pliku phperrors.log.
Język PHP odczytuje plik konfiguracji podczas inicjowania i przechowuje dane w pamięci podręcznej; Udostępnia również interfejs API do aktualizowania tych ustawień i używania ich od razu i jest zapisywany w pliku konfiguracji. Ten interfejs API umożliwia skryptom aplikacji zmianę ustawień nawet po zainicjowaniu języka PHP.
Rejestrowanie aktywności przy użyciu sterownika SQLSRV
Aby włączyć rejestrowanie, możesz użyć funkcji sqlsrv_configure lub zmienić plik php.ini. Możesz rejestrować działania dotyczące inicjowania, połączeń, instrukcji lub funkcji błędów. Można również określić, czy mają być rejestrowane błędy, ostrzeżenia, powiadomienia, czy wszystkie trzy.
Uwaga / Notatka
Lokalizację pliku dziennika można skonfigurować w pliku php.ini. Aby uzyskać więcej informacji, zobacz dokumentację języka PHP .
Włączanie rejestrowania
Rejestrowanie można włączyć za pomocą funkcji sqlsrv_configure , aby określić wartość ustawienia LogSubsystems . Na przykład następujący wiersz kodu konfiguruje sterownik do rejestrowania aktywności na połączeniach:
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);
W poniższej tabeli opisano stałe, które mogą być używane jako wartość ustawienia LogSubsystems :
| Wartość (odpowiednik liczb całkowitych w nawiasach) | Description |
|---|---|
| SQLSRV_LOG_SYSTEM_ALL (-1) | Włącza rejestrowanie wszystkich podsystemów. |
| SQLSRV_LOG_SYSTEM_OFF (0) | Włącza wylogowywania. Jest to opcja domyślna. |
| SQLSRV_LOG_SYSTEM_INIT (1) | Włącza rejestrowanie działań inicjowania. |
| SQLSRV_LOG_SYSTEM_CONN (2) | Włącza rejestrowanie aktywności połączenia. |
| SQLSRV_LOG_SYSTEM_STMT (4) | Włącza rejestrowanie działania instrukcji. |
| SQLSRV_LOG_SYSTEM_UTIL (8) | Włącza rejestrowanie aktywności funkcji obsługi błędów (takich jak handle_error i handle_warning). |
Dla ustawienia LogSubsystems można ustawić więcej niż jedną wartość, używając operatora logicznego OR (|). Na przykład następujący wiersz kodu włącza rejestrowanie aktywności zarówno dla połączeń, jak i instrukcji:
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);
Możesz również włączyć rejestrowanie, określając wartość całkowitą dla ustawienia LogSubsystems w pliku php.ini. Na przykład dodanie następującego wiersza do [sqlsrv] sekcji pliku php.ini powoduje włączenie rejestrowania aktywności połączenia:
sqlsrv.LogSubsystems = 2
Dodając razem wartości całkowite, można określić więcej niż jedną opcję jednocześnie. Na przykład dodanie następującego wiersza do [sqlsrv] sekcji pliku php.ini włącza rejestrowanie działania połączenia i instrukcji:
sqlsrv.LogSubsystems = 6
Rejestrowanie błędów, ostrzeżeń i powiadomień
Po włączeniu logowania należy określić, co ma być rejestrowane. Możesz zarejestrować co najmniej jedną z następujących czynności: błędy, ostrzeżenia i powiadomienia. Na przykład następujący wiersz kodu określa, że rejestrowane są tylko ostrzeżenia:
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);
Uwaga / Notatka
Ustawieniem domyślnym dla wartości LogSeverity jest SQLSRV_LOG_SEVERITY_ERROR. Jeśli rejestrowanie jest włączone i nie określono ustawienia logSeverity , rejestrowane są tylko błędy.
W poniższej tabeli opisano stałe, które mogą być używane jako wartość ustawienia LogSeverity :
| Wartość (odpowiednik liczb całkowitych w nawiasach) | Description |
|---|---|
| SQLSRV_LOG_SEVERITY_ALL (-1) | Określa, że są rejestrowane błędy, ostrzeżenia i powiadomienia. |
| SQLSRV_LOG_SEVERITY_ERROR (1) | Określa, że błędy są rejestrowane. Jest to opcja domyślna. |
| SQLSRV_LOG_SEVERITY_WARNING (2) | Określa, że ostrzeżenia są rejestrowane. |
| SQLSRV_LOG_SEVERITY_NOTICE (4) | Określa, że powiadomienia są rejestrowane. |
Dla ustawienia LogSeverity można ustawić więcej niż jedną wartość, używając operatora logicznego OR (|). Na przykład następujący wiersz kodu określa, że błędy i ostrzeżenia powinny być rejestrowane:
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);
Uwaga / Notatka
Określenie wartości ustawienia LogSeverity nie powoduje włączenia rejestrowania. Należy włączyć rejestrowanie, określając wartość ustawienia LogSubsystems, a następnie określić poziom surowości tego, co jest rejestrowane, ustawiając wartość LogSeverity.
Można również określić ustawienie dla ustawienia LogSeverity przy użyciu wartości całkowitych w pliku php.ini. Na przykład dodanie następującego wiersza do [sqlsrv] sekcji pliku php.ini umożliwia rejestrowanie tylko ostrzeżeń:
sqlsrv.LogSeverity = 2
Dodając razem wartości całkowite, można określić więcej niż jedną opcję jednocześnie. Na przykład dodanie następującego wiersza do [sqlsrv] sekcji pliku php.ini umożliwia rejestrowanie błędów i ostrzeżeń:
sqlsrv.LogSeverity = 3
Zobacz też
Przewodnik programowania dla sterowników firmy Microsoft dla języka PHP dla programu SQL Server
Stałe (sterowniki firmy Microsoft dla języka PHP dla programu SQL Server)