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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

619閲覧

PHPからSQL Serverに接続できない

hironobu_

総合スコア6

SQL Server

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/08/09 06:03

編集2018/08/09 08:52

前提・実現したいこと

CentOS(7.5.1804)にPHP(ver 7.0.31)をインストールし、word pressをその上で動かしています。
そのword pressからAzure上のSQL Serverへ接続するため、PHPのプログラムを記述し、ショートコードにてWord Pressに読み込ませようとしています。

発生している問題・エラーメッセージ

 上記

A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.```

該当のソースコード

php

1$ServerName = "xxx.xxx.xxx.xxx,619xx"; 2 3// コネクションの設定 4$ConnectionInfo = array( 5"UID"=>"xxxxxxxxxxxxx", 6"PWD"=>'xxxxxxxxx', 7"Database"=>"xxx", 8"CharacterSet"=>"UTF-8"); 9 10 $dbCon = sqlsrv_connect($ServerName , $ConnectionInfo); 11 if($dbCon) 12 { 13 sqlsrv_close($dbCon); 14 return "database connection is active."; 15 } 16 else { 17 return print_r(sqlsrv_errors(),true); 18 }

試したこと

 該当のサーバにてsqlcmdコマンドを用い、上記のパラメタを入力して実行したところ、問題なく接続することができました(実際にSELECT文なども実行できました)。また、多少強引ですが、telnet xxx.xxx.xxx.xxx 619xxとしたところ、接続できました。

補足情報(FW/ツールのバージョンなど)

・以前は接続できていたような気がしますが、少し前に本サーバを再起動した後うまくいかなくなったようです。
・sqlcmdで接続できているため、何らかが悪いのだと思いますが、皆目見当がつきません・・・
・Word Pressにて動作させていると書きましたが、Word Pressは関係なさそうで、本PHPを単体で試してもうまく行きませんでした。

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

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

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

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

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

guest

回答1

0

自己解決

自己解決しました。初歩的なミスでした。
SELinuxが弾いていたようです。取り急ぎSELinuxをdisabledに変更したらつながりました。
おさわがせしました。

sqlcmdでは繋がるのにという先入観が目を曇らせていたようです。

投稿2018/08/10 05:36

hironobu_

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問