【问题标题】:Error connecting to MSSQL with SQLSrv and PHP 5.4.7使用 SQLSrv 和 PHP 5.4.7 连接到 MSSQL 时出错
【发布时间】:2013-03-17 02:36:42
【问题描述】:

我正在尝试使用 PHP 连接到 MSSQL 数据库,但在尝试连接时遇到了一个非常令人沮丧的错误。它会加载一分钟,然后打印出以下消息:

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08001]: 
[Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53]. 

这是我的连接字符串:

DB::config("sqlsrv:Server={$dbHost} ; Database={$dbName}", $dbUser, $dbPass);

在我的数据库类中:

public static function config($dsn, $user, $pass)
    {
        self::$_pdo = @new PDO($dsn, $user, $pass);
        ...// intentionally left out

我很困惑。我在 php.ini 文件中配置了以下模块:extension=php_pdo_sqlsrv_54_ts.dll。虽然我认为我安装正确并且我没有收到任何关于驱动程序不工作的错误消息,但这段 PHP 什么也没打印:

if (function_exists( 'sqlsrv_connect' ))
    echo "hey";

从我上面的错误消息中可以看出,SQL Server Native Client 11 似乎正在工作。我在Windows平台上。我尝试禁用防火墙无济于事。我没有太多关于 SQL 服务器的信息,否则我会在这里分享。

这是我第一次在 Stack 上发帖,所以如果我遗漏了关键信息或者我没有以某种方式遵守适当的礼仪,我深表歉意,但我们非常感谢任何帮助。


另外,我应该补充一点,我已经做了太多的谷歌搜索,并且没有任何成功。

【问题讨论】:

  • SQL Server 是否允许网络连接?使用 SQL Express,这些默认情况下被禁用
  • 其实是我的机器试图连接的问题。我尝试连接到不同的服务器,但也失败了。此外,使用 Mac 的 sqlsrv 等效项的人可以正常连接。

标签: php sql-server


【解决方案1】:

我的安装过程确实有效,但连接确实无效。我应该一直使用 IP 地址作为主机名,但我没有。我还在端口号之前使用了冒号而不是逗号。最后,连接字符串中不允许有空格,我认为它会被自动剥离。因此,对于那些可能发现自己处于类似困境的人来说,这是一个有效的连接字符串:

$connectionString="sqlsrv:Server=123.123.12.1,9864;Database=mssqldatabaseWootWoot";

另外,作为对我之前对该函数 sqlsrv_connect 的观察的回应,我没有启用该函数所需的驱动程序。位于php_sqlsrv_54_ts.dll中,开启后报告功能存在。

感谢任何花时间解决这个问题的人。

【讨论】:

  • column(,) 而不是端口号前的分号(:),对我有用。谢谢。
【解决方案2】:

我遇到了同样的问题,但我发现我不需要使用 IP 地址,服务器名称可以正常工作。我也不确定我的服务器使用的是什么端口,我在这里找到了信息:How to find the port for MS SQL Server 2008?

我还发现以下链接有助于 PDO 工作:

PHP PDO Connection to SQL Server with integrated security?

Use of PDO in classes

MS SQL Server (PDO) — Microsoft SQL Server Functions (PDO_SQLSRV)

我知道 ncksllvn 解决了他的问题,所以我希望这可以帮助其他访问者!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多