公式のPHPドキュメントに従ってIIS7にPHPをインストールしたところ成功しました。私はPHPファイルを実行することができ、私のサイトはOKです。 PDOSとODBCドライバを使ってMSSQLのデータベースに接続できません。私は自分のphp.iniを気にしないで設定しました。私はすべてが良いと思います。また、ODBCはWindows上でネイティブであり、PDOは最新のPHPビルドに含まれていると思います(私は5.5.36です)。PHP PDO ODBC MSSQL接続
だからここに私の接続コードです:
define("UID", 'uid');
define("PWD", 'pwd');
define("DSN", 'odbc:decheterie');
// where 'decheterie' is the dataSource set in the ODBC Connection Manager
try {
$pdo = new PDO(DSN, UID, PWD);
} catch (PDOException $e) {
die("Error! ".$e->getMessage());
}
私が手にエラーがある:
エラー!ドライバを見つけることができません
php -m
を実行すると、PDOとODBCモジュールが正しくロードされていることがわかります。 PDO::getAvailableDrivers()
は空の配列を返します。phpinfo()
内では、 'PDOドライバ'セクションに '値なし'と表示されます。
私はたくさんの投稿と記事を読んでいます。応答が「問題解決」として有効になるたびに、それは既に自分の設定でうまくいきます。
誰かが恩恵を受けることができれば、それは祝福されるでしょう;)
のphp -mは/(Webサーバに組み込まれた)SAPIは、PHPとは全く異なる.iniファイルがありますすることができますCLIのPHP、です。 Webサーバーの下でそのコードを実行している場合、cliの出力はほとんど役に立たないので、phpinfo()をチェックする必要があります。 PDOがインストールされていても、特定のDBドライバが必要です。 pdo-mysql。 –
IIS管理コンソールのモジュールで 'php_pdo_sqlsrv _ *。dll'を有効にしようとしましたか? – gofr1
Marcの情報をお寄せいただきありがとうございます。正しい手順でテストすることはとても重要です。 php_pdo_odbc.dllはWindowsでビルドしなければならない場合でもONになります。私はphp_pdo_sqlsrv _ *。dllをダウンロードして参照しました。ありがとうGofr1 – Ben