在研究ezSQL的时候就看到了mssql_connect()等一些php提供的连接MSSQL的函数,本以为php这个开源的风靡世界的编程语言对连接微软的数据应该是不在话下的,但是到真正执行的时候,才发现困难多多。
一开始我下载的php版本是5.93的,下载下来添加环境变量等等搞了半天后,phpinfo()这个函数终于成功的运行在浏览器中了。然后当我在满世界的找php_mssql.dll,才发现在5.3以及以上版本的php中已经不是原生态的支持mssql了。
好不容易找到了微软Microsoft Drivers 3.0 for PHP for SQL Server,心想微软的东西应该做的可以,却无奈的发现SQLSRV30.EXE没有办法运行:“SQLSRV30.EXE 不是有效的win32程序”。
在网上搜索了半天,总结了以下一些可行的办法,但是在这之前你需要:
配置MICROSOFT SQL SERVER
1、下载并安装sql server。现在这个版本就比较多了从2000 到2008不等,找一个你自己下载吧。
2、开放tcp/ip连接方式,使得数据库能够远程访问。SQL Server Configuration Manager -> Network Configuration -> Protocols -> TCP/IP enabled
3、打开数据管理界面,添加用户和数据库。
4、安装php和配置IIS服务。
5、打开php所在文件夹里面的 php.ini文件,并添加:
mssql.textlimit = 20971520mssql.textsize = 20971520
做完了这些之后,你可以按照下面三种方法来连接数据库了:
使用php自带的方法连接MSSQL(5.3及以后版本不适用)
确保php ext扩展库文件夹下有php_mssql.dll,然后在PHP.ini中的配置中,将
;extension=php_mssql.dll
前面的“;”去掉。
然后你可以测试连接了:
//连接MSSQL$conn=mssql_connect("实例名或者服务器IP","用户名","密码");//测试连接if($conn){ echo "连接成功";}
Microsoft Drivers for SQL Server for PHP
2008年7月微软发布了一个新的为php连接SQL Server的驱动,它改善了php自带的连接MSSQL函数的一些缺点,并且是以php扩展插件的形式开发的,通过它你可以用php轻松的读写微软的数据库了。
如果你服务器使用的是IIS的话,那么就一定要从这里去下载:
http://php.iis.net/
因为从上述链接进去其实是微软整合的网络开发平台,只提供在线安装,但是很方便的整合了PDO插件和php,当然还有微软的其它一些开发功能,但是如果你没需要,你可以不装了,那些是在visual studio中的。
但是如果你用的是 Apache的话,你可以去这里直接下载这个插件了,它其实是一个解压文件,解压出来几个DLL文件,具体操作如下:
1)下载驱动包:http://www.microsoft.com/en-us/download/details.aspx?id=20098.
2)将DLL文件解压到 PHP extension_dir 目录,如果出现说SQLSRV30.EXE 不是有效的win32程序,可能是缺少某些库,可能是vc10,也有可能是没有用administrator权限运行。
新闻热点
疑难解答