Я пытаюсь установить драйверы Microsoft для PHP для SQL Server, используя документ, предоставленный Microsoft. Ссылка https://github.com/Microsoft/msphpsql
Он содержит шаги установки для Ubuntu и Redhat, но не для Amazon Linux. Чтобы установить драйверы Microsoft на Amazon, я следовал инструкциям для Redhat (не уверен, что это правильно). Когда я запускаю команду
sudo ACCEPT_EULA=Y yum install msodbcsql mssql-tools
получил ошибку ниже
Error: Package: msodbcsql-13.1.7.0-1.x86_64 (packages-microsoft-com-prod)
Requires: unixODBC >= 2.3.1
Available: unixODBC-2.2.14-14.7.amzn1.i686 (amzn-main)
unixODBC = 2.2.14-14.7.amzn1
Ошибка ясно говорит о том, что для установки msodbcsql, версия unixODBC должна быть> = 2.3.1. Но обновленный / последний пакет unixODBC, доступный для amazon, — это unixODBC-2.2.14.
Мне нужна помощь для установки драйверов Microsoft для PHP на Amazon Linux, чтобы я мог использовать SQLSRV PHP функции для подключения SQL-сервера.
PHP7, Apache и SQL-сервер уже настроены.
Погуглив и попробовав все способы, я нашел ответ на свой вопрос.
Вместо того, чтобы использовать
sudo ACCEPT_EULA=Y yum install msodbcsql mssql-tools
я использовал
sudo ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
и проблема исправлена.
Если вы заинтересованы в msodbcsql17, вы можете следовать этому ответу:
Установите unixODBC >= 2.3.1 в Linux Redhat / CentOS для msodbcsql17
Шаги следующие:
После долгого времени исследований у меня есть
разобрался с решением:
- Загрузите unixODBC> = 2.3.1 из любого источника, как rpm (Пример источника)
- Загрузите msodbcsql17 и mssql-tool как rpm от Microsoft (Ссылка на Репо) (msodbcsql17-17.1.0.1-1.x86_64.rpm а также
MSSQL-инструменты-17.1.0.1-1.x86_64.rpm в моем случае)- Передача файлов через ftp (например, FileZilla) в экземпляр EC2
- Используйте терминал EC2 и перейдите в каталог загруженных файлов
- Войти
sudo rpm -i unixODBC-2.3.1-11.el7.x86_64.rpm
установить нужную версию (возможно, вам придется изменить номер версии на
номер версии загружаемого файла)- Войти
sudo rpm -i msodbcsql17-17.1.0.1-1.x86_64.rpm
Войти
sudo rpm -i mssql-tools-17.1.0.1-1.x86_64.rpm
Следуйте остальным инструкциям Microsoft, как в вашем вопросе.
- Теперь вы должны иметь возможность использовать ODBC, например, с pyodbc в python.