Linux下PHP连接sql2008出现Fatal error: Call to undefined function mssql_connect()

连接sql2008出现Fatal error: Call to undefined function mssql_connect()这是什么问题啊?大神们?php配置也修改啊了,一直是这个错误!

php跨平台,不代表php的扩展都能跨平台

sqlserver因为高度依赖windows,是无法在非windows下安装相应的客户端连接组件的

在windows系统下

php5.2以下,可以使用自带的 mssql 扩展,开启php对mssql的支持。

php5.3及以上,则需要安装由微软维护的sqlsrv扩展(有多个版本,具体与php版本对应关系可去微软官网查看)

在非windows系统下,有两个建议:

    重新安装windows server系统(根据需求选择版本,一般最新版可以兼容旧版的)

    可以采用非直连的方式获取数据,具体方法是,在windows数据库服务器上部署一套web接口服务(类似于网站),可以直接连接数据库输出数据,linux端的php通过接口获取数据

希望对你有帮助

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-13
理论上linux下php是可以连接到微软的sqlserver的。(php放在linux系统,sqlserver放在windows系统)
根据你的报错,提示不存在mssql_connect这个函数。
如果你的php是5.2的版本,则需要在php.ini中加入mssql扩展。(还需要对应sql版本的ntwdblib.dll,这个方法使用的是php自带的扩展)

另外也可以去微软官方下载sqlsrv.dll。(由微软开发的扩展。)
注意:sqlsrv3.0对应的是mssql2012
sqlsrv2.0对应的才是mssql2008

官方部分说明:
Microsoft Drivers for PHP for SQL Server, version 3.0 requires PHP 5.3.0 or later. If possible, use PHP 5.3.6, or later. The version 2.0 driver works with PHP 5.2.4 or later, but not with PHP 5.4. If possible, use PHP 5.2.13, or later.

下载地址:
3.0 for sql 2012
2.0 for sql 2008 r2 x86
2.0 for sql 2008 r2 x64 本回答被网友采纳
第2个回答  2014-02-13
linux下是不支持mssql的。mssql是win下的产物。php程序包中默认是没有mssql2008扩展的。必须另外下载sqlsrv.dll。win下可以安装phpstudy 2014 里面已经包含了sqlsrv。在菜单php扩展里面勾上sqlsrv即可。追答

这样就支持mssql2008了

追问

亲,我说的是linux下连接 sql2008。。。

追答

连不上,除非你自己去编译sqlsrv

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网