(Win)PHP安装MSSQL扩展

一,为什么需要安装.dll文件?

DLL(Dynamic Link Library)文件是动态链接库文件,又称“应用程序拓展”。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。DLL文件中存放的是各类程序的函数(子过程)实现过程,当程序需要调用函数时需要先载入DLL,然后取得函数的地址,最后进行调用。使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。另外,使用DLL文件还可以减小程序的体积。

二,安装方法

1. 查看已安装的php版本(重要,如果版本和所下载的.dll文件不匹配,配置后仍然会无效)
2. 下载并直接安装微软提供的官方ODBC驱动(必须,否则配置失效): https://docs.microsoft.com/zh-cn/sql/connect/odbc/windows/release-notes-odbc-sql-server-windows?view=sql-server-ver15#13
3. 根据php版本号,查看并下载微软提供的官方MSSQL扩展:https://docs.microsoft.com/zh-cn/sql/connect/php/release-notes-php-sql-driver?view=sql-server-ver15得到.exe压缩包(又称SQLSRV驱动程序)
4. 直接解压该压缩包,得到一些.dll扩展文件,可能如下图所示(版本号会有所不同):

5. 此压缩包中提供两种文件:pdo_sqlsrv类型驱动程序(如:图中前四个.dll文件)和sqlsrv类型驱动程序(如:图中后四个.dll文件)。从两种类型各选择一个与当下php运行环境相匹配的.dll文件,粘贴进php的ext文件夹中。
6. .dll文件选择须知:
     1. 为什么要两种驱动程序中各选一个并同时使用? 答:sqlsrv 驱动程序用于提供与 SQL Server 交互的过程接口,pdo_sqlsrv 驱动程序用于实现 PHP面向对象的PDO接口,用于处理数据库
     2. TS类型驱动程序和NTS类型驱动程序应该选哪个?答:TS(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时进行数据加锁保护,其他线程不能同时进行访问该数据,直到该线程读取完毕,其他线程才可访问使用该数据,好处是不会出现数据不一致或者数据污染的情况,坏处是耗费的时间要比 NTS 长。PHP以 ISAPI 方式(Apache 常用方式)加载的时候选择TS版本。NTS: NTS(None-Thread Safe)即非线程安全,不提供数据访问保护,有可能出现多个线程先后或同时操作同一数据的情况,坏处是容易造成数据错乱(即脏数据),好处是一般操作执行时间比 TS 短
7. 根据上条原则,我的电脑是x64系统,于是选择php_sqlsrv_7_ts_x64.dll文件和php_pdo_sqlsrv_7_ts_x64.dll文件。接下来,修改php的php.ini文件,在其中增加扩展连接并保存修改:
    extension=php_sqlsrv_7_ts_x64.dll
    extension=php_pdo_sqlsrv_7_ts_x64.dll
8. 重启Apache服务,使用phpinfo()函数检查输出是否成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值