web-dev-qa-db-ja.com

PHPのSQLSRV拡張機能をWAMPにインストールします

私はこれらの投稿の多くを見て、それらすべてを調べましたが、それでもSQLSRV拡張機能を実行できません。あなたは私を助けることができます?私が持っているすべての情報を以下に投稿します:

  • Windows 764ビット
  • WampServer 2.232ビット
  • PHP 5.4.332ビット
  • Apache 2.2.22(VC6かVC9かわからない)
  • Microsoft SQL Server2012ネイティブクライアント64ビット

SQLSRV30.exeをダウンロードしました。 dllファイルをC:\ wamp\bin\php\php5.4.3\extに抽出しました。

私のphp.ini:

  • extension_dir = "c:/wamp/bin/php/php5.4.3/ext/"
  • extension = php_sqlsrv_54_ts.dll
  • extension = php_pdo_sqlsrv_54_ts.dll

SQLSRV30.exeが32ビットとしてビルドされていることを知っています。これが、32ビットバージョンのWampとPHPを使用している理由です。また、Wampにはスレッドセーフでないものはないことも知っています。
phpinfo()を表示すると、「sqlsrv」セクションが表示されますが、現在は表示されていません。

何が間違っているのですか?

7
user1971193

編集している場合c:\wamp\bin\php\php.ini、そのファイルを編集しないでください。wampserverphp.iniファイル、goto wamp server php、php.iniの順に編集すると、書き込みiniファイルが作成されます。

私は同じ問題を抱えていました、これは私のためにそれを修正しました。

また、WAMPショートカットを右クリックして[管理者として実行]を選択してください

5
user3051218

今朝、問題が発生しましたが、x64WampServerがあることがわかりました...これは正しく機能しませんでした。

そこで、x86 WampServerを再インストールし、PHP.netで見つけたすべてのものに従いました( http://php.net/manual/en/sqlsrv.requirements.php )。 x64ソリューションを探しているときにこの投稿を見たので、戻ってきてあなたを助けようと思いました。

1)WampにPHP 5.4。#がある場合は、TS、VC9だと思います

2)正しい「php.ini」を見つけます。私のものは「bin/php#」フォルダーではなく、「bin/Apache#」フォルダー(C:\ wamp\bin\Apache\apache2.2.22\bin\php.ini)

3)2つのSQLSRVドライバーバージョン、2.0と3.0があります。3.0があることを確認してください!

見た目からすると、Wampのバージョンはまったく同じなので、「php_sqlsrv_54_ts.dll」と「php_pdo_sqlsrv_54_ts.dll」を使用する必要があると確信しています。

3

PHP拡張機能リストに新しいdllが表示されましたか?もしそうなら、それをクリックして、その名前のVがあることを確認してください。 (うまくいけば緑色のwampシンボルを左クリックします。php-> php拡張子-> dllの名前)

Php 5.5、SQLSRV31.exe、php_sqlsrv_55_nts.dll、php_sqlsrv_55_ts.dllでも同様の問題が発生しました。奇跡的にそれは働いた。

2
kishu