看到标题就知道这东西到底有多坑!
好了首先介绍一下测试环境:
os : win7 X64
db: sql server 2012
php: php-5.4.45-nts-Win32-VC9-x86
server : IIS7
要做到pdo连mssql之前是有mssql_connect的,后来不支持了,microsoft 的驱动没跟上php的节奏,很多新东西不稳定,不过或许以后这些都会完善
所以暂时只好将就下了
全套文件我有分享,求稳定的可以用我的资源,文章脚有链接
言归正传: 要做到pdo_sqlsrv有下面几步:
第一步:保证IIS能运行html
第二步保证: IIS能运行php
第三步:保证SQLserver能sa登录
第四步:安装ODBC Driver : msodbcsql.msi
第五步: 127.0.0.1,1433能sa登录
需要安装sqlserver client : sqlncli.msi 配置一下sql网络配置的tcp/Ip协议属性下的IP地址这些具体在教程里面有图文介绍(教程链接在页脚)
第六步:释放SQLSRV30.exe(教程中已经释放到30文件夹下)复制微软提供的关于php的extension拓展dll文件到php\ext\下
我们用的是php_pdo_sqlsrv_54_nts.dll和php_sqlsrv_54_nts.dll
最后修改php.ini,打开
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_sqlsrv_54_nts.dll
extension=php_pdo_sqlsrv_54_nts.dll
测试代码
<?php try{ $db = new PDO("sqlsrv:Server=127.0.0.1,1433;Database=test","sa","chenshao95"); }catch(PDOException $e){ echo "ERROR:".$e->getMessage(); } if($db)echo "OK!Connected!<br />"; ?>
已经微软失望...sqlserver要不是项目需要打死不开!!!