작업 로깅

PHP 드라이버 다운로드

기본적으로 MICROSOFT Drivers for PHP for SQL Server에서 생성한 오류 및 경고는 PHP 시스템 로그에 기록되지 않습니다. 이 항목에서는 드라이버 로깅 작업을 구성하는 방법에 대해 설명합니다. 드라이버에 한정되지 않는 PHP 오류 처리 설정을 구성하는 방법에 대 한 자세한 내용은 PHP 설명서를 참조하세요.

PDO_SQLSRV 드라이버를 사용하여 작업 로깅

PDO_SQLSRV 드라이버와 관련하여 사용 가능한 유일한 로깅 구성은 php.ini 파일에 있는 pdo_sqlsrv.log_severity 항목입니다.

다음을 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 설정에 대한 값으로 사용할 수 있는 상수를 설명합니다.

값(괄호 안의 정수에 해당하는 정수) 설명
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)의 로깅을 설정합니다.

논리적 OR 연산자(|)를 사용하면 LogSubsystems 설정에 대해 한 번에 둘 이상의 값을 설정할 수 있습니다. 예를 들어 다음 코드 줄에서는 연결과 문에 대한 작업의 로깅을 설정합니다.

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);

php.ini 파일에서 LogSubsystems 설정에 정수 값을 지정하여 로깅을 활성화할 수도 있습니다. 예를 들어 php.ini 파일의 [sqlsrv] 섹션에 다음 줄을 추가하면 연결 작업의 로깅이 설정됩니다.

sqlsrv.LogSubsystems = 2

정수 값을 함께 추가하면 한 번에 2개 이상의 옵션을 지정할 수 있습니다. 예를 들어 다음 줄을 php.ini 파일의 [sqlsrv] 섹션에 추가하면 연결 및 문 작업의 로깅이 설정됩니다.

sqlsrv.LogSubsystems = 6

로깅 오류, 경고 및 알림

로깅을 설정한 후 기록할 내용을 지정해야 합니다. 오류, 경고 및 알림 중 하나 이상을 기록할 수 있습니다. 예를 들어, 다음 코드 줄은 경고만 기록하도록 지정합니다

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);

참고 항목

LogSeverity의 기본 설정은 SQLSRV_LOG_SEVERITY_ERROR입니다. 로깅이 설정되고 LogSeverity 에 대한 설정이 지정되지 않은 경우 오류만 기록됩니다.

다음 테이블은 LogSeverity 설정에 대한 값으로 사용할 수 있는 상수를 설명합니다.

값(괄호 안의 정수에 해당하는 정수) 설명
SQLSRV_LOG_SEVERITY_ALL (-1) 오류, 경고 및 알림을 기록하도록 지정합니다.
SQLSRV_LOG_SEVERITY_ERROR (1) 오류를 기록하도록 지정합니다. 기본값입니다.
SQLSRV_LOG_SEVERITY_WARNING (2) 경고를 기록하도록 지정합니다.
SQLSRV_LOG_SEVERITY_NOTICE (4) 알림을 기록하도록 지정합니다.

논리적 OR 연산자(|)를 사용하면 LogSeverity 설정에 대해 한 번에 둘 이상의 값을 설정할 수 있습니다. 예를 들어, 다음 코드 줄은 오류 및 경고를 기록하도록 지정합니다

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);

참고 항목

LogSeverity 설정에 대한 값을 지정하면 로깅을 활성화하지 않습니다. LogSubsystems 설정 값을 지정하여 로깅을 활성화한 다음 LogSeverity 값을 설정하여 기록되는 내용의 심각도를 지정해야 합니다.

php.ini 파일의 정수 값을 사용하여 LogSeverity 설정에 대한 설정을 지정할 수도 있습니다. 예를 들어, php.ini 파일의 [sqlsrv] 섹션에 다음 줄을 추가하면 경고에 대한 로깅만 활성화됩니다.

sqlsrv.LogSeverity = 2

정수 값을 함께 추가하면 한 번에 2개 이상의 옵션을 지정할 수 있습니다. 예를 들어, php.ini 파일의 [sqlsrv] 섹션에 다음 줄을 추가하면 오류 및 경고에 대한 로깅이 활성화됩니다.

sqlsrv.LogSeverity = 3

참고 항목

Microsoft Drivers for PHP for SQL Server 프로그래밍 가이드

상수(Microsoft Drivers for PHP for SQL Server)

sqlsrv_configure

sqlsrv_get_config

SQLSRV 드라이버 API 참조