我以前从未使用过php,并且试图连接到运行IIS7和PHP5.3的Windows计算机上的SQL Server 2008实例。

我已经从SQLSRV30.EXE中的here下载并安装了C:\Program Files (x86)\PHP\ext,并将其添加到C:\Program Files (x86)\PHP\php.ini中:

extension=php_sqlsrv_53_nts.dll

然后重新启动整个服务器。我的日志文件中仍然出现致命错误:
PHP Fatal error:  Call to undefined function mssql_connect()

从运行在IIS7/Windows Server 2008上的PHP 5.3连接到Microsoft SQL Server 2008,我需要做什么?我敢肯定我真的很想念这东西...

完整PHPINFO-> http://demo.mandibleweb.com/zapified/hello.php

phpinfo():
PHP Version 5.3.10





System

Windows NT MWD001 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586



Build Date

Feb 2 2012 20:10:58



Compiler

MSVC9 (Visual C++ 2008)



Architecture

x86



Configure Command

cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\oracle\instantclient11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet" "--with-mcrypt=static" "--disable-static-analyze"



Server API

CGI/FastCGI



Virtual Directory Support

disabled



Configuration File (php.ini) Path

C:\Windows



Loaded Configuration File

C:\Program Files (x86)\PHP\php.ini

最佳答案

我刚刚尝试在我的开发服务器上安装该扩展。

首先,请确保正确启用了扩展名。您的phpinfo()输出似乎不完整。

如果确实安装正确,则phpinfo()应该包含一个类似于以下内容的部分:

如果您没有在phpinfo()中找到该部分。确保您使用的版本正确。扩展既有非线程安全版本,又有线程安全版本。

最后,检查您的extension_dir设置。默认情况下,它是这样的:extension_dir = "ext",在大多数情况下它都可以正常工作,但是如果尝试不了:extension_dir = "C:\PHP\ext"

================================================== =========================

编辑已提供新信息:

您使用了错误的功能。 mssql_connect()Mssql扩展的一部分。您正在使用Microsoft的扩展名,因此对于Microsoft驱动程序的API使用sqlsrv_connect(),请查看SQLSRV_Help.chm,提取扩展名时应将其提取到ext目录中。

关于php - PHP致命错误: Call to undefined function mssql_connect(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9986804/

10-13 07:53