Gra*_*ham 1 php sql-server pdo php-7
我有一个在 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";
Run Code Online (Sandbox Code Playgroud)
当我在 PHP 7.0 中运行它时,出现以下错误:
Uncaught PDOException: could not find driver
Run Code Online (Sandbox Code Playgroud)
根据http://php.net/manual/en/pdo.installation.php,我的 php.ini 文件中不需要 extension=php_pdo.dll 在 5.3 以上版本的 windows 安装。
不过我确实有以下几点:
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_sqlite.dll
Run Code Online (Sandbox Code Playgroud)
另外,我可以直接使用 sql server,只是不能使用 PDO。
我还需要什么才能让它发挥作用?我在哪里可以找到这个驱动程序?
细节:
PHP 7.0.5
Windows 8.1
NTS x86
Run Code Online (Sandbox Code Playgroud)
已经下载了驱动,还是不行。为驱动程序找到了一个新站点,这个站点有效。
https://github.com/Microsoft/msphpsql/releases
添加了 php.ini 行:
extension=php_pdo_sqlsrv_7_nts.dll
Run Code Online (Sandbox Code Playgroud)