PHP连接SQLSever数据库(PHP7+SQLServer)

问题:在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 ,扩展文件获取地址:https://docs.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017,请根据自己的php版本选择下载)。下载完成之后 不需要安装,只需要解压然后获取各种扩展文件

步骤一:将获取到的扩展文件复制到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.aspx?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版本想详情,如下图:

php版本信息

2023-12-13新问题:按以上步骤配置仍然无法加载sqlsrv扩展 其余扩展正常加载

环境:windows server 2019 64位系统  iis+php配置

PHP版本:7.2.34 nts x64

具体情况:使用 php -m 命令查看有sqlsrv, phpinfo()中没有

解决:php换成x86版的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值