일단 저는 정말 멍청해요. (유감) 둘째, PHP를 mssql 서버에 연결하려고했습니다. 셋째, sqlsrv, pdo_sqlsrv 및 msodbcsql.msi를 설치했습니다. 그런데 연결하려고 하면 계속 오류 메시지가 나타납니다.
내 PHP 버전은 8.0.10, x64입니다. MSSQL 서버 2012.
연결 테스트를 위한 내 PHP 코드:
으아아아그러다가 오류가 나서 msodbcsql.msi를 설치하라는 안내가 나와서 지시대로 설치했습니다. 하지만 해결할 수 없는 새로운 오류가 표시됩니다.
Array ( [0] => Array ( [0] => 08001 [SQLSTATE] => 08001 1 => -2146893019 [코드] => -2146893019 2 => [Microsoft][ODBC 드라이버 18 SQL Server의 경우] SSL 공급자: 신뢰할 수 없는 기관에서 인증서 체인을 발급했습니다. [메시지] => [Microsoft][SQL Server용 ODBC 드라이버 18] SSL 공급자: 신뢰할 수 없는 기관에서 인증서 체인을 발급했습니다. ; 배열([0] => 08001 [SQLSTATE] => 08001 1 => -2146893019 [코드] => -2146893019 2 => [Microsoft][SQL Server용 ODBC 드라이버 18 ]클라이언트가 연결을 설정할 수 없습니다. [메시지] => [Microsoft][SQL Server용 ODBC 드라이버 18]클라이언트가 연결을 설정할 수 없습니다) )
추가정보: dbeaver(다른 PC)를 mssql 서버(동일 서버)에 연결해도 문제가 없습니다.
미리 감사드립니다
ODBC 드라이버 18 대신 ODBC 드라이버 17을 사용했는데 문제가 해결되었습니다. 제 경우에는 암호화가 필요하지 않으므로 드라이버 17이 적합합니다.
혹시 TrustServerCertificate을 1으로 정의하는 방법이 궁금하신 분들을 위해 저는 이렇게 해서 아래와 같이 매개변수를 새 배열 요소로 추가했습니다
으아아아