質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

0回答

1982閲覧

pdo_sqlsrvがssl関連のエラーを出す

退会済みユーザー

退会済みユーザー

総合スコア0

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2022/03/16 02:51

docker-composeでnginxとphp-fpmにpdo_sqlsrvを入れたのを使ってsqlserverと通信したいです。
phpinfo()ではpdo_sqlsrvとsqlsrvが入っているのが確認できるのですが、実行すると以下のようなエラーが出ます

SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:self signed certificate]

構成をapacheからnginx+php-fpmに乗り換えたのですが、
apacheの時には普通に接続できていました

ファイル

test.php

php

1<?php 2 3$db_address = '***.***.***.***'; 4$db_name = 'testdb'; 5$db_user = 'testuser'; 6$db_pass = 'pass123@'; 7try{ 8 $db = new PDO("sqlsrv:server=$db_address;database=$db_name",$db_user, $db_pass); 9}catch(PDOException $e){ 10 echo $e->getMessage(); 11}

docker-compose.yml
参考にしたサイト
*alpineやバージョン指定はしていません

version: '3' volumes: php_sockert: services: nginx: container_name: test_nginx image: nginx:stable ports: - 28000:80 volumes: - ./html/:/var/www/html/ - ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./nginx/default.conf:/etc/nginx/conf.d/default.conf - php_sockert:/var/run php_fpm: container_name: test_php_fpm build: ./php/ volumes: - ./html/:/var/www/html - ./php/zzz-www.conf:/usr/local/etc/php-fpm.d/zz.conf - php_sockert:/var/run

php-fpmのDockerfile
参考にしたサイト様のコメント(#)は残しています
*2020年版だったのでいくつか変更しています

# Install basic packages and extensions RUN apt update RUN apt install -y zlib1g-dev libzip-dev wget gnupg vim tree RUN docker-php-ext-install zip opcache # # Install SQL Server extensions RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - # RUN curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list RUN curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list RUN apt update RUN ACCEPT_EULA=Y apt install -y msodbcsql18 mssql-tools18 RUN echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc RUN . ~/.bashrc RUN apt install -y unixodbc-dev libgssapi-krb5-2 RUN pecl install sqlsrv RUN pecl install pdo_sqlsrv RUN docker-php-ext-enable sqlsrv RUN docker-php-ext-enable pdo_sqlsrv

default.conf

server { listen 80; server_name localhost; root /var/www/html; location / { root /var/www/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { root /var/www/html/; fastcgi_pass unix:/var/run/php7-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

nginx.conf

user www-data; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; autoindex on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }

環境

windows 10 pro

Microsoft SQL Server 2019
Docker Desktop 4.6.0
(同じマシン内)


windows, sqlserver, ssms, nginx, ssl 全部知識0なので的外れな情報ばかりかもしれないですが、教えていただけるとありがたいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問