我以前从未使用过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/