SQLSRV 3.0安装-未定义的函数SQLSRV_connect()IIS,php5.4.3,

SQLSRV 3.0安装-未定义的函数SQLSRV_connect()IIS,php5.4.3,,php,windows,sqlsrv,Php,Windows,Sqlsrv,我已经阅读并尝试了我能找到的每一篇文章,但没有运气。 phpinfo不显示sqlsrv,但ext文件夹已正确测试,并且存在dll extension=php_pdo.dll //which I don't think is actually needed for this version extension=php_sqlsrv_53_nts.dll extension=php_pdo_sqlsrv_53_nts.dll 它们是c:/PHP/ext格式的 使用FastCGI,确实重新启动了II

我已经阅读并尝试了我能找到的每一篇文章,但没有运气。 phpinfo不显示sqlsrv,但ext文件夹已正确测试,并且存在dll

extension=php_pdo.dll //which I don't think is actually needed for this version
extension=php_sqlsrv_53_nts.dll
extension=php_pdo_sqlsrv_53_nts.dll
它们是c:/PHP/ext格式的 使用FastCGI,确实重新启动了IIS和整个服务器。 此版本的PHP X86和MSSQL10_50.SQLEXPRESS已经安装并运行了一年

Windows Server 2008 R2 PHPINFO 编译器:MVC9 Visual C++ 2008 PHP扩展构建:API20100525、NTS、VC9

但是,在PHPINFO上,我在Configure命令上看到了以下内容:

"--without-mssql" "--without-pdo-mssql" 
刚刚发现并添加:

extension=php_sqlsrv_30_53_nts_vc9x86.dll
extension=php_pdo_sqlsrv_30_53_nts_vc9x86.dll 
然后:

所以我知道我已经正确安装了dll


任何帮助都将不胜感激-至今已有两天

我最近升级了我的PHP和sqlsrv驱动程序。以下是我为SQLSRV部分所做的工作:

首先,我的phpinfo产生:

PHP Version 5.5.1
System: Windows NT HOSTNAME 6.1 build 7601 (Windows 7 Business Edition Service Pack 1) i586
Build Date: Jul 18 2013 10:37:55 
Compiler: MSVC11 (Visual C++ 2012) 
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=shared" "--with-mcrypt=static" "--disable-static-analyze" "--with-pgo" 
然后我将SQLSRV驱动程序安装到C:\Program Files x86\PHP\ext文件中,并在PHP.ini中添加:

[PHP_SQLSRV]
extension=php_sqlsrv_53_nts_vc9.dll 
[PHP_PDOSQLSRV]
extension=php_pdo_sqlsrv_53_nts_vc9.dll
它是有效的。虽然我没有直接调用函数,但我使用了Yii框架,我也对DSN进行了更改:

sqlsrv:Server=hostname\u或\u ip;数据库=您的数据库名称

希望能有帮助

编辑 我从下载了PHP5.5的实验/非官方sqlsrv驱动程序,并将配置更新为:

[PHP_SQLSRV]
extension=php_sqlsrv_55_nts.dll 
[PHP_PDOSQLSRV]
extension=php_pdo_sqlsrv_55_nts.dll

从以下位置找到:

在哪里找到extension=php\u sqlsrv\u 53\u nts\u vc9.dll?我在我尝试过的任何下载中都找不到。那些文件不在下载中-我需要php_sqlsrv_53_nts_vc9.dll&php_pdo_sqlsrv_53_nts_vc9.dllFound and trusted extension=php_sqlsrv_53_nts_vc9.dll扩展名=php_pdo_sqlsrv_53_nts_vc9.dll,但仍然是相同的错误-仍然没有在phpinfo中显示。重新安装的php,sqlsrv已安装并正在工作。然而,它实际上并没有更新数据库,即使它说它更新了。此代码生成更新的,但数据库未更新:for$i=0$i XXXX,UID=>xxxxx,PWD=>xxxxx;$conn=sqlsrv\u connect$serverName,$connectionInfo;如果$conn==false{die print_r sqlsrv_errors,true;}$sql=select*from CampaignStats,其中var0='$campaign_id'和var1='$sent[$i]';$stmt=sqlsrv\u查询$conn$sql;如果$stmt===false{$sql=插入到活动统计变量0、Var1、Var2、Var3、Var4、Var5、Var6、Var7值“$campaign_id”、“$sent[$i]”、“$open[$i]”、“$blocked[$i]”、“$bounched[$i]”、“$spam[$i]”、“$click[$i]”、“$status[$i]”;}否则{$sql=更新活动统计集Var0=$campaign[$i]、Var1=$sent[$i]、open vari=$2]“,Var3=”$blocked[$i]”,Var4=“$bounched[$i]”,Var5=“$spam[$i]”,Var6=“$click[$i]”,Var7=“$status[$i]”,其中var0=“$campaign_id”和var1=“$sent[$i]”;}$stmt sqlsrv_查询$conn,$sql;如果$stmt==false{echo未更新;}否则{echo已更新;}sqlsrv_关闭$conn;}
[PHP_SQLSRV]
extension=php_sqlsrv_55_nts.dll 
[PHP_PDOSQLSRV]
extension=php_pdo_sqlsrv_55_nts.dll