gpt4 book ai didi

php - 警告 : dbx: module 'mssql' not loaded

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:41:57 24 4
gpt4 key购买 nike

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

dbx

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

但是当我尝试连接时,出现这个错误:

Warning: dbx: module 'mssql' not loaded.

这是代码:

dbx_connect("mssql","host","database","user","password");

有解决办法吗?

最佳答案

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

DBX 是 removed from standard PHP in version 5.1 .如果您安装了它,则意味着有人特意将它安装为 PECL 模块,或者您使用的是非常旧的 PHP 版本。

关于 requirements page ,它指出:

To be able to use a database with the dbx-module, the module must be either linked or loaded into 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 编写代码相反。

关于php - 警告 : dbx: module 'mssql' not loaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com