php drive mssql,wamp下对MS SQLSERVER的连接配置,PHP+THINKPHP5通过

本文档详述了如何在PHP环境中配置SQLServer驱动,包括下载SQLServerDriverforPHP,根据PHP版本选择合适的安装包,修改php.ini文件添加扩展,确保线程安全设置正确,并安装必要的ODBC驱动。通过phpinfo()检查配置是否成功,最后提供了原生PHP和THINKPHP框架下连接SQLServer的代码示例。
摘要由CSDN通过智能技术生成

下载一个SQL Server Driver for PHP

这是一个扩展包,我是在这里下载的http://www.microsoft.com/en-us/download/details.aspx?id=20098

根据你的php版本选择对应的安装包。由于我的PHP版本是5.6,所以我下载的是

SQLSRV32.EXE, 运行后选择解压目录为 D:\wamp64\bin\php\php5.6.25\ext我装的是WAMP,这个根据实际打开该目录,里面出现了php_pdo_sqlsrv_52_nts.dllphp_pdo_sqlsrv_52_ts.dllphp_pdo_sqlsrv_53_nts_vc6.dllphp_pdo_sqlsrv_53_nts_vc9.dllphp_pdo_sqlsrv_53_ts_vc6.dllphp_pdo_sqlsrv_53_ts_vc9.dllphp_sqlsrv_52_nts.dllphp_sqlsrv_52_ts.dllphp_sqlsrv_53_nts_vc6.dllphp_sqlsrv_53_nts_vc9.dllphp_sqlsrv_53_ts_vc6.dllphp_sqlsrv_53_ts_vc9.dllSQLServerDriverForPHP.chm(手册,英文够好可以看看)

SQLServerDriverForPHP_License.rtfSQLServerDriverForPHP_Readme.htm(自述文件)

等等。。。1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

配置php.ini

(1)在php.ini中添加如下两条扩展:extension=php_sqlsrv_56_ts.dllextension=php_pdo_sqlsrv_56_ts.dll1

2

(2)将;extension=php_pdo.dll前面的;去掉,开启pdo连接扩展··这个dll是旧版本php需要配置的,5.6版本没有这个dll

(3)重新启动apache或者IIS,备注:不要用***_nts.dll的文件,这样就会失败,ts和nts的意思是:是否线程安全。和php版本有关,用phpinfo();查看,打印出phpinfo,找到Thread Safety,如果是disabled就是非线程安全就用nts版本;如果是enable就用ts版本。extension=php_sqlsrv_56_nts.dllextension=php_pdo_sqlsrv_56_nts.dll1

2

如果使用的php版本是64位的话(这里的64位可能是指WAMP64或者win7 64),官网的 php_sqlsrv_xx_ts.dll和 php_pdo_sqlsrv_xx.tl.dll 不起作用,网友收集了对应的64位版本dll,请到

http://pan.baidu.com/s/1kUCP7EJ

下载选择对应版本即可。(我环境下确实官方的无效,用的是非官方才有效)

28023286_202003251534320159238013.png

(4)这时候你在phpinfo()中的PDO配置中会看见已经存在sqlsrv了。这个非常重要,包括ORACLE也是,只有出现OCI才算支持。否则代码就别去测试了,肯定不行的。

28023286_201801231606220134154864.jpg

(5)然后查找 PHP.INI     mssql.secure_connection 把值改为on(没测试是否必须)

下载MS SQL SERVER Native Client安装分64和32位的,根据自己系统来装

亲测必须的,可能WAMP服务器和MSSQL服务器在一起就不需要了,这个部分还是以sqlsvr是否在PHPINF()中显示出来为准。有了这步就不用了。

下载安装一个Microsoft® ODBC Driver 11 for SQL Server

To access data in a SQL Server 2005 or later database using the Microsoft Drivers for PHP for SQL Server (SQL Server 2008 or later if using version 3.2 or 3.1), you must have the following components installed on your computer:

结语

配置的难点在于确定php版本以及SQL Server Driver for PHP的对应关系。关键的关键是看

phpinfo(),有了SQLSVR的字样代表PHP 支持MSSQL了,如果有其他问题就是代码或者配置文件出错了

在原生PHP下的测试代码$serverName="x.x.x.x";//serverName\instanceName$connectionInfo=array("Database"=>"dbname","UID"=>"name","PWD"=>"pw");$conn= sqlsrv_connect($serverName,$connectionInfo);if($conn) {echo"Connection established.
";}else{echo"Connection could not be established.
";die( print_r( sqlsrv_errors(),true));}

在THINKPHP下的配置和使用(多数据库配置的方法):由于TP5是支持PDO,配置好文件后,使用上和MYSQL是一样的

新建DATABASE1return[//数据库类型'type'=>'sqlsrv',//服务器地址'hostname'=>'x.x.x.x',//数据库名'database'=>'dbname',//用户名'username'=>'NAME',//密码'password'=>'PW',//端口'hostport'=>'1433',//连接dsn'dsn'=>'',//数据库连接参数'params'=> [],//数据库编码默认采用utf8'charset'=>'utf8',//数据库表前缀'prefix'=>'',//数据库调试模式'debug'=>true,

config文件引入多数据库配置$dbcon=require_once('database1.php');return[// +----------------------------------------------------------------------// |应用设置// +----------------------------------------------------------------------'database1'=>$dbcon,

PHP代码:多配置下的MSSLQ表查询$dbDB=\think\Db::connect('database1')->table("gbpm.PTTFORM2008")->select();dump($dbDB);die;

附录

SQLServer 查询当前配置的字符编码:SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')1

下面是查询结果对应表:返回值编码信息936简体中文GBK

950繁体中文BIG5

437美国/加拿大英语

932日文

949韩文

866俄文

65001unicode UFT-8

PHPDrive 文件分享系统专注于文件的云操作和管理,用户可以使用 PHPDrive 搭建自己的网盘站点,或者搭建成个人的文件、软件分享站点。亦适合企业、学校、团队等内部文件共享交流。完善的权限控制模式、强大的管理功能、自由的模板编写结构和人性化的操作体验,更支持手机管理和操作,使管理分享无界限。 PHPDrive文件分享系统 2011 Beta3 (4.0.1) 更新日志:2011-11-6 PHPDrive 修复: 某些小容量空间上,上传文件无法完毕的 BUG 启用 SNA 节点功能时迅雷下载、快车下载失效的 BUG 文件搜索当搜索存在的文件时不显示的 BUG UCenter 整合无法通信的 BUG 不显示文件预览的 BUG 后台产品无法绑定的 BUG 全局下载倒计时对节点下载不起作用的 BUG 其他的一些老内核垃圾文件清理和修复 修复下载防盗链失效的 BUG 编辑文件总是编辑为第一个文件的 BUG 空间设置无法回车应用的 BUG,无法支持 40T 以上的 BUG 从 FTP 上传功能子目录内文件无法上传的 BUG 软件缩略图失效的 BUG 图片预览时太大撑破页面的BUG PHPDrive 优化: FTP 上传排序为上方为文件夹下方为文件的规律排序 PHPDrive 模板: simple 模板首页上传不显示进度条的 BUG PHPDrive 新增: 新增支持 40T 以上的任意空间大小 FTP 上传新增多国编码用户选择功能 SNA 修复: 在某些 PHP 设置下登录时提示头部输出的 BUG 开启防盗链时无法下载文件的 BUG 预览文件无法显示的 BUG SNA 新增: 外链文件许可设置以及不记流量网址 版本方面: NOS 内核版本升级到 1.0.1 PHPDrive 版本升级到 4.0.1 SNA 版本升级到 1.1.0 友情提示:升级时请一定要对准版本。 为什么选择 PHPDrive 互联网已经过数十年的发展,各种新产品层出不穷,而大多数网站、企业可能仍在使用较老前的产品,临着系统老化、功能不够用、数据量超载和安全漏洞等严重问题,严重阻碍了网站的快速发展。PHPDrive 随着网络技术的进步,将持续跟紧时代潮流,让大家始终使用的是最新,最好用,最强大,最安全的文件管理、分享系统。 PHPDrive,您最佳的选择 您是否觉得自己的网站、企业的文件管理系统或网盘程序不好用?您是否改版过多次却仍没找到合适的文件管理、分享系统?您是否考察过多款网盘程序、文件管理程序却仍不满意?请赶紧联系我们,相信 PHPDrive 将是您的最终选择。
php实现文件共享(其于windows网上邻居原理)   通过本php文件,在进行相关设置后,您可以方便的看到共享目录中的文件,以及相应的说明,便于能够迅速找到自己想要的文件。   找到想要的东西后,直接点击文件夹名打开共享文件夹。 使用方法: 1: 将index.php放在网站根目录。 2: 本脚本支持从根目录向下两级目录显示,目录名可为中文英不限,但是建议使用英文。 3: 请在根目录下建好各种分类文件夹,不要在根目录下直接放普通文件。 4: 要添加新的脚本时,请在所属分类目录中再建一个目录,文件名可为中英文,取名最好简捷明了能直接说明用途。在这个文件夹内放入要用的脚本,并且建一个readme.txt文件,在此txt文件中说明脚本的具体功能和用法。    当用访问的时候,脚本将直接显示在网页列表中,并且在下面显示readme.txt文件中的内容。 5: 直接点击文件夹时,将自动用网上邻居打开此文件所在目录。    这个路径需要一个默认值,建议将网站的根目录直接从服务器上面共享,并将此共享目录的网上邻居目录填到index.php的$netdir变量的''之间。 再次重申: 1: 本脚本只支持网站根目录向下的两级文件夹,再有深层目录将不予判断。   2: 此脚本只支持ie内核的浏览器,非IE内核浏览器不支持file://abc.abc.com这样的链接,所以点了链接也打不开。 另: 只为功能所以美工基本没有,眼睛吃点苦了。        顺便宣传一下我的PHP LAMP群:34513293  WEB前端群:73269871 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值