为什么不默认加上 数据库类型呢?

在config 目录 dbs.php 里面加上数据库类型 type变量
'servers' => array(
'db_master' => array( //服务器标记
'type' => 'mysql', //数据库域名
'host' => 'localhost', //数据库域名
'name' => 'td_oa', //数据库名字
'user' => 'root', //数据库用户名
'password' => '*HM2Ll!#7VCg1K_19F#3@tJ', //数据库密码
'port' => 3336, //数据库端口
'charset' => 'GBK', //数据库字符集
),
'db_2' => array( //服务器标记
'type' => 'sqlserver', //数据库域名
'host' => 'hmx.risedot.com', //数据库域名
'name' => 'kaoqin', //数据库名字
'user' => 'sa', //数据库用户名
'password' => '13602685392', //数据库密码
'port' => 1433, //数据库端口
'charset' => 'GBK', //数据库字符集
),
),

在 phalapi\vendor\phalapi\kernal\src\Database\NotORMDatabase.php
找到 267行 protected function createPDOBy($dbCfg) 这一行
protected function createPDOBy($dbCfg) {
if (strtolower($dbCfg['type'])=="mysql") {
$dsn = sprintf('mysql:dbname=%s;host=%s;port=%d',
$dbCfg['name'],
isset($dbCfg['host']) ? $dbCfg['host'] : 'localhost',
isset($dbCfg['port']) ? $dbCfg['port'] : 3306
);
} elseif (strtolower($dbCfg['type'])=="sql server" || strtolower($dbCfg['type'])=="sqlserver")
{
$dsn = sprintf("sqlsrv:Server=%s,%d;Database=%s",
isset($dbCfg['host']) ? $dbCfg['host'] : 'localhost', isset($dbCfg['port']) ? $dbCfg['port'] : 1433, $dbCfg['name'] );
}
增加这个条件判断,就可以增加 sqlserver的支持了, 希望作者加入这个数据库类型选项,毕竟做接口什么数据库都可能碰上
已邀请:

dogstar - PhalApi创始人

赞同来自:

感谢分享,争取下个版本加上。

也欢迎提交merge request 到我们的框架:https://github.com/phalapi/kernal

一起参与开源哦。

dogstar - PhalApi创始人

赞同来自:

已经更新到master-2x分支,我这边没有sqlserver,有空请帮忙code review和测试一下,谢谢。

分支请见:
https://github.com/phalapi/phalapi/tree/master-2x

要回复问题请先登录注册