0

我有一个简单的IIS 7PHP 5.4设置。在我需要添加MS SQL Server支持之前,一切都运行良好。我下载了通过此链接提供的 SQLSRV 包,将适当的 DLL 提取到我的 PHPext目录中,并添加了扩展条目/配置,php.ini如下所示:

; MS SQL Server

extension=php_sqlsrv.dll
;extension=php_pdo_sqlsrv.dll

[sqlsrv]
sqlsrv.LogSubsystems=-1
sqlsrv.LogSeverity=-1
sqlsrv.WarningsReturnAsErrors=0

...对设置进行额外更改extension_dir

extension_dir = "ext"

...,并重新启动我的服务器。现在,当我运行任何请求时,我得到:

PHP_RINIT for php_sqlsrv: entering
sqlsrv.WarningsReturnAsErrors = Off
sqlsrv.LogSeverity = -1
sqlsrv.LogSubsystems = -1
sqlsrv.ClientBufferMaxKBSize = 10240
PHP_RSHUTDOWN for php_sqlsrv: entering

有时,第一行丢失,但通常是相同的问题。没有页面生成正确的文本/HTML了!发生了什么事?谢谢。

4

1 回答 1

0

在概率的平衡上,我想你使用了错误的 sqlsrv dll。首先要做的事情:你从这里下载了 SQLSRV吗?

我假设您想要 PDO 版本(我使用它;它工作得很好!)。从文件名中,我无法判断您拥有什么,但对于您的情况,您应该使用php_pdo_sqlsrv_54_nts.dll. 当您使用 IIS 时,您将拥有一个 NTS 版本的 PHP,它应该与非线程安全扩展一起使用。

尝试用那个替换你正在使用的 dll,然后在 IIS 中重新加载应用程序池。phpinfo() 应该将 sqlsrv 显示为可用的 PDO 驱动程序。让我知道你是怎么办的... :)

于 2013-09-11T16:01:16.283 回答