我收到了这个恼人的消息:
致命错误:调用未定义的函数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
但仍然没有运气...... :(
答案 0 :(得分:1)
这是我在Windows平台上将php 5.3与sql-server 2008连接在一起的方式(使用PDO而不是mssql_ *函数):
首先,您需要安装microsoft mssql native client(将页面向下滚动到“Microsoft®SQLServer®2008R2 Native Client”);在这之后,只留下php.ini中的扩展名:
extension=php_pdo_sqlsrv_53_ts.dll
现在,通过从cmd调用php -m
来检查扩展程序列表:
您应该在[PHP模块]部分中看到pdo_mssql
;
现在,重新启动apache。您可以通过调用new PDO()连接到服务器:
$connection = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");
可以找到更多信息here
答案 1 :(得分:1)
好吧,这就是我解决它的方法:
我只是安装了php 5.2,然后添加了原生的mssql扩展,我觉得它看起来像:
extension=php_mssql.dll
与5.3不同,5.2版本具有与mssql for Windows一起使用的本机二进制文件。
(对许多人来说,安装PDO不是一个选项,因为它需要太多的工作并且还要学习一些新的语法,即使它应该更“可靠”。)
最后,我从
下载了msvcr71.dllhttp://www.dll-files.com/dllindex/dll-files.shtml?msvcr71
如果没有此文件,则与服务器的连接正在被切断且不稳定。
就是这样。