2017-04-19 9 views
1

PHPでSQL Serverに接続しようとしています。私のローカルマシンでXAMPPを使うと、すべてうまく動作します。しかし、今では私のアプリケーションを本番サーバーに持っていく予定です。PDO sqlsrv:ドライバが見つかりません

このサーバーには、Microsoft IIS 6.1がインストールされ、PHPバージョン7.0.7がインストールされています。私はhereからODBCドライバもインストールしました。次の私は私のphp.iniファイルに次の行をdecomment:

extension=php_sqlsrv_7_nts.dll 
extension=php_pdo_sqlsrv_7_nts.dll 

私は official microsoft siteからファイルを得ました。

私の問題は何ですか?

残念ながら、私はIISを再起動しました。

try { 
    $con = new PDO("sqlsrv:Server=" . SERVER . ";Database=" . DATABASE, USERNAME, PASSWORD); 
    // set the PDO error mode to exception 
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch (PDOException $e) { 
    echo "No connection: " . $e->getMessage(); 
    exit; 
} 

私は他に何を行うことができます。私は私のローカルマシン上ではかなりうまく機能次の関数を使用しています接続について

could not find driver 

:PDOの機能は、次のメッセージとPDOExceptionエラーがスローされますか?

+0

サーバーにはMicrosoft Visual C++ 2015 Redistributableがありますか? – Eimsas

+0

@Eimsasはい。それがあります。 –

+1

ログを確認しようとすると、「ドライバが見つかりませんでした」よりも多くの情報が必要になります.WAMPと同じ問題がありましたが、MS C++をインストールして、php_sqlsrvのいくつかのバージョンを試しました。また、少なくとも再起動する必要があります。 – Eimsas

答えて

2

Windows Serverでエラーログが検出された後、私は自分でエラーを解決しました。

私は私のログにこのエラーを得た:

[21-Apr-2017 07:12:14 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '...\ext\php_pdo_sqlsrv_7_nts.dll' - %1 is not a valid Win32 application. in Unknown on line 0 

はその後、私は再びdriverをダウンロードし、x64のドライバをインストールしました。最後に問題なく動作します。

関連する問題