【问题标题】:How to enable ODBC Driver 17 for SQL Server in PHP 7+?如何在 PHP 7+ 中为 SQL Server 启用 ODBC Driver 17?
【发布时间】:2018-08-18 00:22:43
【问题描述】:
【问题讨论】:
标签:
sql-server
sql-server-2016
php-7.2
【解决方案1】:
好吧,就像通常发生的那样,在一位朋友提醒我有关 /etc/odbcinst.ini 文件的信息后,我进行了一些挖掘并能够找到答案……供未来的 Google 员工和 So'ers 使用:
- sudo vi /etc/odbcinst.ini
您应该会看到类似这样的内容(假设您按照 Distro 到 T 的说明操作,没有任何错误 - 原始帖子中的链接):
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.2.so.0.1
UsageCount=1
所以...一旦确认,创建一个基本的 PHP 文件进行测试。我在这里使用 PHP 7.2.9:
<?php
// Configuration Settings for connection to Database
$host = 'SERVERNAME';
$user = 'dbuser';
$pass = 'dbpass';
$db = 'InstanceName';
$conn = "DRIVER={ODBC Driver 17 for SQL Server};SERVER=$host;PORT=1433;DATABASE=$db";
// Open connection
$db_connect = odbc_connect($conn, $user, $pass);
// Check for successful connection
if ( $db_connect ) {
echo 'Beer time!';
} else {
die('Error connecting...');
}
?>
重要的部分是确保在 odbcinst 文件中的 [] 之间显示的驱动程序的“名称”与您在 {} 之间的 PHP 文件的连接字符串中使用的驱动程序的名称相匹配。在这种情况下(默认),它是“ODBC Driver 17 for SQL Server”。
希望能帮助别人。我挣扎了一段时间。