Я пытаюсь подключиться к серверу MS SQL с PHP в среде Docker.
Я следовал этим инструкциям для моего файла Docker:
FROM php:7.3.10-apache
RUN apt-get -y install unixodbc-dev
RUN pecl install sqlsrv pdo_sqlsrv
Следующие две строки добавлены к php.ini
:
extension=pdo_sqlsrv.so
extension=sqlsrv.so
phpinfo()
показывает это:
Теперь я пытаюсь подключиться к серверу MS SQL (который не является частью среды docker):
$server = 'MyServer';
$database = 'MyDB';
$username = 'MyUser';
$password = 'MyPassword';
# Connect
try {
$conn = new PDO("sqlsrv:server=$server;Database=$database", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Error connecting to SQL Server: ".$e->getMessage());
}
Но я получаю следующую ошибку:
Ошибка подключения к SQL Сервер: SQLSTATE [IMSSP]: Для этого расширения требуется драйвер Microsoft ODB C для SQL Сервер для связи с SQL Сервером. Чтобы загрузить ODB C Driver для SQL Server для x64, перейдите по следующему URL-адресу: https://go.microsoft.com/fwlink/?LinkId=163712
Может кто-нибудь указать мне правильное направление? Что именно мне нужно сделать?