[英]Microsoft ODBC Driver 17 for SQL Server with php 7.3 fails with false error message
[英]How to enable ODBC Driver 17 for SQL Server in PHP 7+?
我正在運行CentOS 7,因此我按照此處的說明進行操作(針對RHEL 7條目),並且在每個步驟都成功。
我遵循的鏈接: https : //docs.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server- 2017年
我現在有點困惑,因為我知道我必須在PHP(v7.2.9)端進行配置,才能“看到”此安裝。 我不知道“擴展名”的實際安裝位置,因此我不確定如何修改PHP.ini文件,也不確定如何在PHP中設置連接字符串以對其進行測試。
我目前正在使用odbc_connect()進行測試(是否有幫助)。
遵循上述鏈接的說明后,您可以提供步驟嗎?
好吧,就像通常發生的那樣,做了一些挖掘,並在一個伙伴提醒我有關/etc/odbcinst.ini文件的信息之后找到了答案……對於將來的Google員工和So'ers:
您應該看到類似這樣的內容(假設您遵循了發行版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文件的連接字符串中使用的驅動程序的名稱匹配。 在這種情況下(默認),它是“ SQL Server的ODBC驅動程序17”。
希望可以幫助別人。 我掙扎了一段時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.