Установите sqlserv в Docker Наносервер
Для реализации нашего проекта мы использовали Docker и общедоступный репозиторий nanoserver / wamp в Dockerhub. Мы смогли использовать систему, поскольку мы используем PHP и внешний сервер MySQL для нашей базы данных.
Теперь наша база данных переходит на MSSQL и для доступа к MSSQL нам нужно иметь файлы sqlsrv .dll в папке C:\php\ext
Но одним предварительным условием для sqlsrv является драйвер MSODBC, и я не могу найти способ загрузить MSI-файл внутри наносервера из-за его ограничений.
Есть ли способ просто скопировать и вставить файлы ODBC в наносервер, чтобы мы могли использовать sqlsrv в нашем проекте php? Или есть ли способ подключения к базе данных MSSQL?
Я пробовал это, но это все еще не работает:
COPY msodbcsql13.dll C:/Windows/System32/
COPY msodbcsql11.dll C:/Windows/System32/
COPY msodbcdiag13.dll C:/Windows/System32/
COPY msodbcdiag11.dll C:/Windows/System32/
COPY msodbcsqlr13.rll C:/Windows/System32/1033/
COPY msodbcsqlr11.rll C:/Windows/System32/1033/
Основой для файлов является https://docs.microsoft.com/en-us/sql/connect/odbc/windows/system-requirements-installation-and-driver-files?view=sql-server-2017
Я не пробовал общедоступный репозиторий microsoft / windowsservercore, поскольку он предлагает IIS-PHP, и нам нужна конфигурация Apache-PHP, и я не знаю, как его настроить. В любом случае, если он работает только с этим репо, можете ли вы указать мне, как установить Apache-PHP в microsoft / windowsservercore?
1 ответ
Оказывается, на самом деле нет способа установить sqlsrv в nanoserver, поскольку для этого требуется установить зависимости с типом файла.msi.
Я просто поделюсь, как настроить установку apache-php в microsoft/windowsservercore
Вот мой докер-файл:
FROM microsoft/windowsservercore
COPY setup c:/apache
ADD https://aka.ms/vs/15/release/VC_redist.x86.exe /apache/vc_redist.x86.exe
ADD https://aka.ms/vs/15/release/VC_redist.x64.exe /apache/vc_redist.x64.exe
RUN C:\apache\vc_redist.x86.exe /quiet /install
RUN C:\apache\vc_redist.x64.exe /quiet /install
COPY Apache24 c:/Apache24
COPY php c:/php
RUN powershell.exe -command \
cmd.exe /c c:/apache/service.bat; \
sc.exe config apache2.4 obj=LocalSystem; \
remove-item c:/apache -Recurse
- Репозиторий Apache поступил с https://www.apachelounge.com/download/
- Репозиторий PHP с https://windows.php.net/download/
Вот содержимое моего сервиса.bat:
cd\
cd Apache24\bin
httpd.exe -k install
- Моя основа для полной установки: https://docs.moodle.org/35/en/Manual_install_on_Windows_7_with_Apache_and_MySQL
После установки установки Apache-PHP я смог установить msodbcsql.msi и вставить sqlsrv.dll и pdo_sqlsrv.dll для PHP, и это обнаружилось в phpinfo();