如何启用对PHP 7+ SQL Server ODBC驱动程序17?

问题描述 投票:0回答:1

我运行CentOS的7,所以我在这里跟着指示(对于RHEL 7项),它是成功的每一步。

链接我也跟着:https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017

我现在有种坚持,因为我知道我必须配置的PHP(v7.2.9)侧的东西得到它“看到”此安装。我不知道在哪里了“扩展(S)”,实际上得到了安装,所以我不知道如何修改php.ini文件,不知道如何设置连接字符串在PHP中对其进行测试。

我目前使用odbc_connect()来测试(是否有帮助或没有)。

你能提供的步骤,一旦上面的链接的说明进行操作?

sql-server sql-server-2016 php-7.2
1个回答
0
投票

好了,因为它通常会发生,做了一些挖掘,并能找到答案后,一哥们提醒我有关/etc/odbcinst.ini文件......为未来的Google和So'ers:

  1. 南您/etc/odbcinst.ini

您应该看到这样的事情(假设你遵循你的发行版的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...');
}

?>

最重要的部分是确保驾驶者的“名称”,因为它显示了你的PHP文件之间的连接字符串中使用的驱动程序的[]在ODBCINST文件匹配名称之间的{}。在这种情况下(默认),这是“为SQL Server ODBC驱动程序17”。

希望可以帮助别人了。我与它挣扎了一段时间。

© www.soinside.com 2019 - 2024. All rights reserved.