1

最近、ラップトップをフォーマットし、Windows 7 Home Basic 64ビット、EasyPHP 12.1(PHPをバージョン5.4.6にアップグレード)、Microsoft SQL Server 2012 、およびMicrosoftのWebサイトの要件で指定されているSQL Native ClientInterface64ビットバージョンの新しいコピーをインストールしました。PHP用のMicrosoftSQLドライバー(ファイルSQLSRV30.exe)をダウンロードし、ファイルphp_pdo_sqlsrv_54_ts.dllphp_sqlsrv_54_ts.dllextフォルダーにコピーしました。

http://postimage.org/image/mv4dcc3aj/

php.iniにもエントリを追加しました

http://postimage.org/image/ruwxxeknj/

EasyPHPのスナップショットファイルに従ってスレッドセーフバージョンを使用しています。ビルド:C:\ php-sdk \ php54dev \ vc9 \ x86 \ obj \ Release_TS

phpinfo()は、MicrosoftSQLServerのサポートを示していません。私は以前にこれを行ったことがあり、それが機能することを知っています。誰かがここで私を助けることができますか、私はphp.iniまたは他のどこかから何かが欠けていますか?

ありがとう

4

1 に答える 1

3

ついに私は問題を見つけました!間違った php.ini ファイルを変更していました!

C:\Program files(86)\EasyPHP-12.1 で php.ini を検索すると、4 つのファイルが見つかりました。php_info() の出力で効果を確認するためだけに、html_errors の値をすべて On から Off に変更することにしました。試行錯誤の結果、変更する正しいphp.iniは次のとおりであることがわかりました

C:\Program files(86)\EasyPHP-12.1\apache\php.ini

そこにある行は言う

extension_dir = "C:\PROGRA~2\EASYPH~1.1\php\php546x130128105026\ext\"

そのため、ディレクトリ内の別のphp.iniを変更しているときに、Apacheのphp.iniが外部フォルダーからDLLファイルを取得していることに気付きました

C:\Program Files (x86)\EasyPHP-12.1\php\php546x130128105026

ext フォルダーが含まれています。まあ、私はそれを間違っていました。その ext フォルダーに 2 つの DLL ファイルを保持し、これらの 2 行を Apache の php.ini に追加しました。

拡張子=php_sqlsrv_54_ts.dll 拡張子=php_pdo_sqlsrv_54_ts.dll

そのため、php_info() の出力に示されているように、EasyPHP は Microsoft の SQL サーバーと通信できるようになりました。

http://postimage.org/image/f3psxpnvn/

于 2013-02-01T09:24:29.817 に答える