首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告: dbx:模块'mssql‘未加载

警告: dbx:模块'mssql‘未加载
EN

Stack Overflow用户
提问于 2012-11-26 22:44:53
回答 1查看 475关注 0票数 5

我正在尝试使用PHP和DBX连接到MS SQL Server。使用phpinf(),我可以注意到dbx是启用的:

代码语言:javascript
复制
dbx

dbx support enabled
dbx version 1.0.0
supported databases MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT.

但当我尝试连接时,出现以下错误:

代码语言:javascript
复制
Warning: dbx: module 'mssql' not loaded.

代码如下:

代码语言:javascript
复制
dbx_connect("mssql","host","database","user","password");

有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-11 17:18:58

我的建议是不使用DBX。它是一个死模块,不应该被现代代码使用。

DBX为 in version 5.1。如果您已经安装了它,这意味着有人特意将其作为PECL模块安装,或者您使用的是非常旧的PHP版本。

requirements page上,它声明:

为了能够将数据库与dbx模块一起使用,模块必须链接或加载到PHP中

DBX支持与MS SQL Server对话的唯一模块是旧的mssql_ family。这个扩展名就是no longer available in Windows PHP versions 5.3 or later

如果您使用的是Linux,并且使用的是操作系统提供的PHP发行版,那么您也许能够安装它。查找php-mssqlphp53-mssql。当您在包描述中搜索“FreeTDS”时,它也可能会显示出来。如果没有可用的软件包,您可能会陷入痛苦的世界。Getting mssql_ compiled and installed is quite a bear

然而,还有更好的替代方案。

DBX的目标是提供一组统一的函数,使您能够与大量现有的PHP数据库适配器对话。这一角色现在由PDO担任。如果你在Windows上,你应该使用PDO_SQLSRV。如果你不在Windows上,你可以使用PDO_DBLIB (它使用与mssql_家族相同的后端)或PDO_ODBC。如果你以前从未使用过PDO,这里有一些不错的tutorials。这是针对MySQL用户的,但它仍然适用于其他数据库。

如果您编写的代码只打算在MS SQL Server上运行,而您在Windows上运行PHP,那么您也可以考虑使用sqlsrv_ family of functions编写它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13567167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档