Chinaunix首页 | 论坛 | 博客
  • 博客访问: 532488
  • 博文数量: 119
  • 博客积分: 3167
  • 博客等级: 中校
  • 技术积分: 1215
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-20 21:21
文章分类

全部博文(119)

文章存档

2015年(21)

2012年(4)

2011年(1)

2007年(11)

2006年(50)

2005年(32)

分类: PHP

2015-09-04 12:21:00

php 5.3 版本后如果用以前的函数希望保持不变的话, 不能用mssql.dll了  要换成新的dll , php_dblib.dll






/>

下载一个另一个组件: php_dblib.dll 就可以解决问题!


将php_dblib.dll到ext文件夹下, 并在php.ini文件里加入 extension=php_dblib.dll


这里要注意一下这个dll文件不要搞错了 ,   要根据php版本区分32位64位还有是否线程安全 




http://blog.knowsky.com/232964.htm
/> />




5.2 和更早的php访问sql server

1. PHP 5.3 开始mssql.dll 就不再是自带的了, mssql_ 开头的这样的函数都不能用了,都改成了sqlsrv_开头的了,5.3以后的需要去下载微软的sqlsrv.dll
   />    />
2.  使用5.2版本访问至少需要两个dll文件,php根目录下ntwdblib.dll 和 ext目录下mssql.dll 

3. php.ini 文件中去掉mssql.dll的注释, 加载mssql.dll    ;   并且需要拷贝ntwdblib.dll 到 系统目录下面 windows\system32


问题, 在实际使用中发现   mssql_connect 提示连不上服务器错误 , 于是尝试本机先建立ODBC, 然后再调用mssql_connect 却可以成功, 说明sql server没有问题,
而且mssql_connect 调用本地数据源也没有问题, 只是不能用IP连上远程数据库。

最后发现, 非ODBC方式, 直接使用
mssql_connect 的时候, 当访问数据时   netstat -an | find "database_ip"   居然根本就没有建立连接
怀疑是ntwdblib.dll 这个dll 文件的问题, 结果去PHP 官网下载5.2最后一个版本, 里面有自带这个dll文件版本也是2000.2.8.0 
结果这个dll文件依然无法通过IP访问数据库, netstat 查看还是没有连接数据库的网络连接

最后替换版本为2000.80.194.0的ntwdblib.dll 文件 ,  问题解决

阅读(659) | 评论(0) | 转发(0) |
0

上一篇:邮件系统备忘

下一篇:fleaphp mssql

给主人留下些什么吧!~~