Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
По умолчанию ошибки и предупреждения, созданные драйверами Майкрософт для PHP для SQL Server, не регистрируются в системном журнале PHP. В этом разделе показано, как настроить ведение журнала драйвера. Дополнительные сведения о настройке параметров обработки ошибок PHP, которые не относятся к драйверам, см. в документации по PHP.
Ведение журнала с помощью драйвера PDO_SQLSRV
Единственной конфигурацией, доступной для драйвера PDO_SQLSRV, является запись pdo_sqlsrv.log_severity в файле php.ini.
Добавьте следующий код в конец файла php.ini:
[pdo_sqlsrv]
pdo_sqlsrv.log_severity = <number>
log_severity может являться одним из следующих значений:
| значение | Описание |
|---|---|
| 0 | Ведение журнала отключено (значение по умолчанию, если не указано иное). |
| -1 | Указывает на регистрацию ошибок, предупреждений и уведомлений. |
| 1 | Указывает, что регистрируются ошибки. |
| 2 | Указывает, что регистрируются предупреждения. |
| 4 | Указывает, что регистрируются уведомления. |
Сведения о ведении журнала записываются в файл phperrors.log.
PHP считывает файл конфигурации при инициализации и сохраняет данные в кэш. Он также предоставляет API для обновления этих параметров и оперативного использования, который записывается в файл конфигурации. Этот API позволяет скриптам приложений изменить параметры даже после инициализации PHP.
Ведение журнала с помощью драйвера SQLSRV
Чтобы включить ведение журнала, можно использовать функцию sqlsrv_configure или изменить файл php.ini. Вы можете вести журнал для инициализаций, соединений, инструкций или функций ошибок. Также можно указать, следует ли вести журналы ошибок, предупреждений и (или) уведомлений.
Примечание.
Расположение файла журнала можно настроить в файле php.ini. Дополнительные сведения см. в документации по PHP.
Включение ведения журнала
Вы можете включить ведение журнала, воспользовавшись функцией sqlsrv_configure, чтобы указать значение для параметра LogSubsystems. Например, следующая строка кода настраивает драйвер на регистрацию событий для соединений:
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);
Следующая таблица содержит константы, которые можно использовать в качестве значения для параметра LogSubsystems :
| Значение (целочисленный эквивалент в скобках) | Description |
|---|---|
| SQLSRV_LOG_SYSTEM_ALL (-1) | Включает ведения журнала для всех подсистем. |
| SQLSRV_LOG_SYSTEM_OFF (0) | Отключает ведение журнала. Это значение по умолчанию. |
| SQLSRV_LOG_SYSTEM_INIT (1) | Включает ведения журнала по инициализации. |
| SQLSRV_LOG_SYSTEM_CONN (2) | Включает ведения журнала по соединениям. |
| SQLSRV_LOG_SYSTEM_STMT (4) | Включает ведения журнала по инструкциям. |
| SQLSRV_LOG_SYSTEM_UTIL (8) | Включает ведение журнала по функция ошибок (таким как handle_error и handle_warning). |
Для параметра LogSubsystems можно задать сразу несколько значений, воспользовавшись оператором логического ИЛИ (|). Например, следующая строка кода включает ведение журнала как для соединений, так и для инструкций:
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);
Вы также можете включить ведение журнала, указав целочисленное значение для параметра LogSubsystems в файле php.ini. Например, добавление следующей строки в раздел [sqlsrv] файла php.ini включает ведение журнала для соединений:
sqlsrv.LogSubsystems = 2
Путем сложения целочисленных значений можно указать сразу несколько параметров. Например, добавление следующей строки в раздел [sqlsrv] файла php.ini включает ведение журнала для соединений и инструкций:
sqlsrv.LogSubsystems = 6
Ведение журнала ошибок, предупреждений и уведомлений
После включения ведения журнала необходимо указать, что именно следует регистрировать. Можно записывать в журнал один или несколько следующих элементов: ошибки, предупреждения и уведомления. Например, следующая строка кода указывает, что регистрируются только предупреждения:
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);
Примечание.
Значением LogSeverity по умолчанию является SQLSRV_LOG_SEVERITY_ERROR. Если ведение журнала включено, а значение для LogSeverity не указано, регистрируются только ошибки.
Следующая таблица содержит константы, которые можно использовать в качестве значения для параметра LogSeverity :
| Значение (целочисленный эквивалент в скобках) | Description |
|---|---|
| SQLSRV_LOG_SEVERITY_ALL (-1) | Указывает на регистрацию ошибок, предупреждений и уведомлений. |
| SQLSRV_LOG_SEVERITY_ERROR (1) | Указывает, что регистрируются ошибки. Это значение по умолчанию. |
| SQLSRV_LOG_SEVERITY_WARNING (2) | Указывает, что регистрируются предупреждения. |
| SQLSRV_LOG_SEVERITY_NOTICE (4) | Указывает, что регистрируются уведомления. |
Для параметра LogSeverity можно задать сразу несколько значений, воспользовавшись оператором логического ИЛИ (|). Например, следующая строка кода задает регистрацию ошибок и предупреждений:
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);
Примечание.
Указание значения для параметра LogSeverity не включает ведение журнала. Необходимо включить ведение журнала, указав значение для параметра LogSubsystems, а затем указать уровень серьезности регистрируемых сведений, задав значение LogSeverity.
Значение для параметра LogSeverity Можно также указать с помощью целочисленных значений в файле php.ini. Например, при добавлении следующей строки в раздел [sqlsrv] файла php.ini ведение журнала включается только для предупреждений:
sqlsrv.LogSeverity = 2
Путем сложения целочисленных значений можно указать сразу несколько параметров. Например, при добавлении следующей строки в раздел [sqlsrv] файла php.ini включается ведение журнала ошибок и предупреждений:
sqlsrv.LogSeverity = 3
См. также
Руководство по программированию драйверов Microsoft для PHP для SQL Server
Константы (драйверы Microsoft Drivers for PHP for SQL Server)