我正在尝试使用 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 上发帖,所以如果我遗漏了关键信息或者我没有以某种方式遵守适当的礼仪,我深表歉意,但任何帮助都非常感谢。
另外,我应该补充一点,我已经做了太多的谷歌搜索,并且没有取得任何成功。