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

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

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

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

Q&A

解決済

1回答

10462閲覧

Apache+PHPでSQLServerとの連携にsqlsrvモジュールを使用したいがうまくいかない

xxhiroxx_chan

総合スコア41

SQL Server

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

0グッド

1クリップ

投稿2015/07/11 12:34

初めて質問します、xxhiroxx_chanと申します。

Apache+PHPでSQLServerとの連携にsqlsrvを使いたいと考えています。
sqlsrvが読み込まれず困っており、お知恵を頂きたく投稿しました。

具体的な環境は以下です。

Windows Server 2012 R2 64bit OS
SQLServer2014
Apache 2.412 (Win64)
PHP 5.5.24
http://www.microsoft.com/en-us/download/details.aspx?id=20098
のSQLSRV32.EXEより、
php_sqlsrv_55_ts.dll
php_pdo_sqlsrv_55_ts.dll
をダウンロードし、C:\php\extに置き、
php.iniに
extension=php_sqlsrv_55_ts.dll
extension=php_pdo_sqlsrv_55_ts.dll
と書いているのですが、
phpinfoに出てくるはずの「SQLSRV」欄が出てきません。

なお、php.exeを実行させると
「PHP Startup: Unable to load dynamic library
'C:\php\exe\php_sqlsrv_55_ts.dll' - %1は有効なWin32アプリケーションではありません。」
と出ます。

なお、
http://robsphp.blogspot.jp/2012/06/unofficial-microsoft-sql-server-driver.html
からunofficailなものをダウンロードしたらうまくいった、とのサイトも見つけて
それも試してみたのですがうまくいきません。

何か方法はありませんでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

http://www.microsoft.com/en-us/download/details.aspx?id=20098
に置いてあるバイナリは32bit バイナリなので、64bit 版Apache上では動きません。

http://robsphp.blogspot.jp/2012/06/unofficial-microsoft-sql-server-driver.html
からunofficial 版をダウンロードして、解凍した中の、x64 ディレクトリに中にある
バイナリを使ってください。

私のところでは、その組み合わせで動きました。
唯一、はまったところは、PHP.INI内の のextension ディレクトリ指定をフルパスで指定しないと、
Apache 内部のPHP.DLLからはphp_sqlsrv_55_ts.dll などがロードされませんでした。

投稿2015/07/11 14:13

編集2015/07/11 14:14
katsumiy

総合スコア479

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

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

xxhiroxx_chan

2015/07/12 03:19

さっそくありがとうございました。 質問した時点でunofficial 版の中にx64ディレクトリがあるという認識がなく、それを使ったところ、とりあえず Windows 7 64bit OS SQLServer2012 でうまくいきました。 大変助かりました。ありがとうございました!! 週が明けたら、質問した環境で同じようにやってみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問