Dockerfile
# 連線 sqlserver
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update \
&& ACCEPT_EULA=Y apt-get install -y msodbcsql17 \
&& ACCEPT_EULA=Y apt-get install -y mssql-tools \
&& echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc \
&& /bin/bash -c "source ~/.bashrc" \
&& apt-get install -y unixodbc-dev \
&& pecl install sqlsrv \
&& pecl install pdo_sqlsrv
php.ini
extension=sqlsrv.so
extension=pdo_sqlsrv.so
說明
先用 php artisan sail:publish
釋出檔案,在 8.0 或者 7.4 資料夾中新增上面的內容, 接著sail build --no-cache
重新構建容器
問題
連線 sqlserver 會遇到這個問題
[Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol]Database Connection Error
/etc/ssl/openssl.cnf 檔案中第一行新增
openssl_conf = default_conf
檔案結尾新增,然後重啟容器
[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=1
參考網址
ubuntu下php 連線 sqlserver
安裝 Microsoft ODBC Driver for SQL Server (Linux)
SSL Provider
本作品採用《CC 協議》,轉載必須註明作者和本文連結