1

PHP にいくつかの拡張機能 (PHP PDO 用の sqlsrv ドライバー) をロードさせようとしています。PHP 5.4、Apache 2.4.4 で wamp サーバーを使用しています。

PHP.ini ファイルに、次の行を入力しました。

extension_dir = C:\wamp\bin\php\php5.4.16\ext
...
extension=php_pdo_sqlsrv_54.nts.dll

ただし、Apache エラー ログでは、Apache サービスを再起動するたびに次のエラー メッセージが表示されます。

PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.16/ext/php_pdo_sqlsrv_54_nts.dll' - The specified module could not be found.\r\n in Unknown on line 0

さて、私は事実を知っていますが、このエラーは正しくありません。エラー ログ (C:\wamp\bin\php\php5.4.16\ext\php_pdo_sqlsrv_54_nts.dll) からファイルの場所を直接コピーして、Windows エクスプローラーに貼り付けると、ファイルは正常に検出されます。

ext ディレクトリを Windows PATH 環境変数に追加しましたが、まだ成功していません。

次に何を試すべきか?ありがとう

4

1 に答える 1

1

NTS問題は、 「スレッド セーフ」である PHP で「スレッド セーフではない」dllを実行しようとしていることです。まず、sqlsrv DLL のスレッド セーフ バージョンをダウンロードしてみてください。

大きな注意点と、おそらく次の問題の解決策:

私が知る限り、sqlserver データベース インターフェイス dll は 32 ビットとしてのみ利用可能です。そのため、64 ビットの WAMPServer をインストールした場合は、32 ビットの WAMPServer をアンインストールしてからインストールする必要があります。

于 2013-09-26T14:05:56.887 に答える