[英]Connect to SQL Server from CakePHP 3 on Ubuntu 12.04 LTS
我的設置是在Windows上工作,但我最近切換到Ubuntu 12.04 LTS,現在它將無法連接。 當我加載一個我需要與SQL Server通信的頁面時,我收到此錯誤:
由於缺少PHP擴展或未滿足的依賴項,無法使用數據庫驅動程序Cake \\ Database \\ Driver \\ Sqlserver
很明顯CakePHP找不到SQL Server PDO驅動程序。
我找到了許多舊的教程來幫助我,但我最近才拿到了(我希望能夠在我的CakePHP網站上使用PDO)。 這是我遵循的教程 。
使用終端,我可以使用此命令訪問數據庫
sqlcmd -S my.sql.server.com -U username
使用CakePHP 3.x從我的ubuntu安裝連接到這個sql server數據庫需要做什么?
微軟最近在Linux上發布了pdo_sqlsrv和sqlsrv的預覽版 (在他們的msphpsql repo上)。 它在運行php7的Ubuntu 16.04.1 LTS(Xenial Xerus)虛擬機上成功運行。
正如@ AD7six所說:
CakePHP的sql server驅動程序用於使用PDO_SQLSRV; 如果需要使用ODBC,核心中沒有一個。
如果你在Windows上, PDO_SQLSRV正在運行。 CakePHP有一個本機支持它的驅動程序。
如果要與Linux中的SQL Server數據庫通信,則必須使用ODBC驅動程序 。 您可以使用本教程安裝驅動程序,這對我幫助很大。 之后,您將能夠使用PDO(而不是CakePHP)連接到您的數據庫:
try {
$query = new PDO(
"odbc:Driver={SQL Server};Database=[Database name]; Server=[Hosame]",
"[Username]",
"[Password]");
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
謝謝大家的幫助。 為odbc查找/編寫CakePHP 3數據庫驅動程序可能會很棒。
新版本的CakePHP支持PDO-sqlsrv,這是支持PHP 7及更高版本的MS驅動程序。
http://php.net/manual/en/ref.pdo-sqlsrv.php
它還允許您連接到Azure。 例:
//建立連接$ conn = new PDO(“sqlsrv:server = $ serverName; Database = $ database”,$ uid,$ pwd);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.