我正在尝试使用 PHP PDO 连接到我的 SQL Server 数据库。我的网站托管在带有 Centos OS 的 WHM/cPanel 服务器上。我们使用的是 PHP 7.0 版。该数据库托管在同一环境中的 Windows VPS 上。我们为 SQL Server 安装了 ODBC 驱动程序 17,现在出现以下错误。
SQLSTATE[HYT00] SQLDriverConnect: 0 [Microsoft][ODBC Driver 17 for SQL Server]登录超时已过期
我用来测试的代码是
$hostname=111.111.111:1433';
$dbname='dbName';
$username='user';
$password='Secret';
$driver='{ODBC Driver 17 for SQL Server}';;
try {
$dbDB = new PDO("odbc:Driver=$driver;Server=$hostname;Database=$dbname", $username, $password);
echo ' <b>Connection successful</b>';
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage() . ' <br> ';
}
我为数据库尝试了几个已知的凭据,并确认凭据是正确的,所以这不是原因。
我们还尝试了以下命令来解决它:
setsebool -P httpd_can_network_connect=1
setsebool -P httpd_can_network_connect_db=1
但这也不起作用。
有没有办法解决问题是在数据库端还是在 WHM,问题可能是什么?