ric*_*ere 5 php sql-server pdo cakephp cakephp-3.0
我的设置是在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
Run Code Online (Sandbox Code Playgroud)
使用CakePHP 3.x从我的ubuntu安装连接到这个sql server数据库需要做什么?
Microsoft 最近发布了适用于Linux的pdo_sqlsrv和sqlsrv预览版本(在其 msphpsql 存储库上)。它在运行 php7 的 Ubuntu 16.04.1 LTS (Xenial Xerus) 虚拟机上成功运行。
正如@AD7six 所说:
CakePHP的sql服务器驱动程序用于使用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();
}
Run Code Online (Sandbox Code Playgroud)
感谢大家的帮助。为 odbc 找到/编写 CakePHP 3 数据库驱动程序可能会很棒。
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |