2017-12-13 12 views
0

ドライバを見つけることができませんでした:私はPHP 7.0でそれを実行PHP/PDO/SQL Server。キャッチされないPDOException:私はPHP 5.6で動作しますが、PHP 7.0では動作しません。簡単なスクリプトを持って

$conn = new PDO("sqlsrv:Server=10.6.2.105;Database=mydb", "myuname", "mypwd"); 
$sql = "SELECT TOP 3 txt FROM mytab"; 
foreach ($conn->query($sql) as $row) 
    print $row["txt"] . "\r\n"; 

、私は次のエラーを取得する:

Uncaught PDOException: could not find driver 

http://php.net/manual/en/pdo.installation.phpによると、上記のバージョンのWindowsのphp.iniファイルにextension = php_pdo.dllは必要ありません。

でも、私は次のことを持っています:

また
extension=php_pdo_mysql.dll 
extension=php_pdo_oci.dll 
extension=php_pdo_sqlite.dll 

を、私はないPDOで、直接SQLサーバーを使用することができます。

これ以外に何が必要ですか?このドライバはどこで見つけられますか?

詳細:

PHP 7.0.5 
Windows 8.1 
NTS x86 
+0

ドライバをダウンロードしてextフォルダに追加し、php.ini https://www.microsoft.com/en-us/download/detailsで有効にしてください。 aspx?id = 20098 –

答えて

0

は、既にドライバをダウンロードしていたし、それが動作しませんでした。ドライバのための新しいサイトを発見し、これは動作します。

https://github.com/Microsoft/msphpsql/releases

php.iniの行が追加さ:

extension=php_pdo_sqlsrv_7_nts.dll 
0

あなたはドキュメントが明示的にPDO拡張モジュールを有効にしても、もはや必要とされていることを述べていないことが正しいです。

しかし、あなたはMySQL、OCI、SQLiteのリストを表示するだけなので、MSSQLドライバ自体はphp.iniファイルで有効になっていないようです。したがって、この行を追加して拡張子を有効にしてください:

extension=php_pdo_mssql.dll 
関連する問題