问题:在php+apache+mysql环境下(windows),连接sqlserver数据出现“can not find driver”问题的解决办法。
解决方法:在php.ini文件下开启 php_sqlsrv_7_nts_x86.dll 和?php_pdo_sqlsrv_7_nts_x86.dll 扩展,所需步骤共4步。
准备工作:获取php_sqlsrv_7_nts_x86.dll 和?php_pdo_sqlsrv_7_nts_x86.dll ,扩展文件。下载完成之后 不需要安装,只需要解压然后获取各种扩展文件
步骤一:将获取到的扩展文件复制到php安装目录的的ext文件下,比如我的就是:d:\phpstudy\phptutorial\php\php-7.0.12-nts\ext;
步骤二:修改php.ini文件,开启扩展:
extension=php_pdo_sqlsrv_7_nts_x86.dll extension=php_sqlsrv_7_nts_x86.dll
这里需要注意extension_dir是否指向了正确的路径
extension_dir = "ext"
步骤三:重启环境(apache/nginx等)
步骤四:windows用户还需下载安装msodbcsql.msi系统驱动,下载地址为:https://www.microsoft.com/en-us/download/details.x?id=36434(如果您的系统已经安装了msodbcsql.msi驱动,可以忽略这一步)
注意:不同的版本需开启的扩展文件名有一定的差异,如我的php版本php-7.0.12-nts,那么对应的扩展文件名叫php_sqlsrv_7_nts_x86.dll与php_pdo_sqlsrv_7_nts_x86.dll,但文件的前面部分基本不会变,如:php_pdo_sqlsrv_xxx.dll。
除了需要注意php版本问题以外,还需要注意你安装的php是32位(x86)的还是64位的,通过打印phpinfo()可以查看自己的php版本想详情,如下图: