1

我收到这条烦人的消息:

致命错误:调用未定义函数 mssql_connect()

我读过很多帖子,他们说只是取消注释php_mssql.dll,但我的扩展文件夹中没有这样的文件,也没有在php.ini.

我似乎无法在任何地方找到它。论坛上发布的所有链接都已损坏,我对此完全崩溃了。

我还尝试从 Microsoft 下载最近的文件,我解压缩了这个:php_pdo_sqlsrv_54_ts.dll,并将其添加到扩展列表中,但我仍然得到同样的错误。

有没有什么有意义的方法可以做到这一点?或者也许我需要重新安装 PHP?

编辑

php.ini我在扩展中添加了以下文件:

extension=php_pdo_sqlsrv_53_nts.dll
extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_nts.dll
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_mssql.dll
extension=php_pdo_odbc.dll

但仍然没有运气...... :(

4

2 回答 2

1

这是我在 Windows 平台上将 php 5.3 与 sql-server 2008 链接在一起的方式(使用 PDO 而不是 mssql_* 函数):

首先,您需要安装microsoft mssql native client(向下滚动页面至“Microsoft® SQL Server® 2008 R2 Native Client”);之后,只在 php.ini 中保留扩展名:

extension=php_pdo_sqlsrv_53_ts.dll

php -m现在,通过从 cmd调用来检查扩展列表:您应该pdo_mssql在 [PHP Modules] 部分看到;

现在,重新启动 apache。您可以通过调用 new PDO() 连接到服务器:

$connection = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");

更多信息可以在这里找到

于 2012-06-03T14:21:20.533 回答
1

好吧,这就是我解决它的方法:

我只是安装了 php 5.2,然后添加了本机 mssql 扩展,我认为它看起来像:

extension=php_mssql.dll

与 5.3 不同,5.2 版本具有适用于 Windows 的 mssql 的本机二进制文件。

(对于很多人来说,安装 PDO 不是一个选项,因为它需要太多的工作并且还需要学习一些新的语法,即使它应该更“可靠”)。

最后,我从

http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71

如果没有此文件,与服务器的连接将被切断并且不稳定。

就是这样。

于 2012-06-11T18:28:01.580 回答