PHP开源CMS对接国产数据库之人大金仓

 

国产化是一个重要趋势,信息行业和软件业尤其比较突出,因此我们也研究了Drupal和国产数据库的对接,希望CMS能对接上国产数据库,便对国产数据库做了一番研究,结果挺好,Drupal完全可以运行在人大金仓上面,算是实现了开源CMS+国产数据库的初步整合方案。

 

 

因为有些数据库不属于政府采购中的国产数据库,因此暂时没有列出来,比如TiDB等,所以,我们主要选择了以下几个:

  • 达梦DM数据库  - 关系数据库
  • 南大通用GBase - 关系传统数据库
  • 人大金仓数据库 - 关系数据库
  • 易鲸捷EsgynDB - 分布式数据库
  • 巨杉SequoiaDB - 金融级分布式关系型数据库
  • 阿里Oceanbase - 阿里的海量数据库

为了尽快适配驱动和兼容性方面,我们选择了人大金仓,因为金仓对pgSQL兼容和Oracle兼容,当然DM也宣称兼容,不过毕竟金仓是直接从Postgre的分支演变而来的,甚至里面的函数名字都差不多,参考下图,

 

 

 

所以,从上图可以看到金仓其实基于Postgre开发的,所以选择金仓的主要原因就是 1. 兼容Postgre,基于Postgre开发的。2. 国产,并且如果是某些项目是免费使用的。

 

 

安装人大金仓数据库

 

不过国产确实弄的很麻烦,下载都需要手机号码,市场化还需要很长的路要走,安装也不是一帆风顺,简单列举一下遇到的坑。

1. 安装时候选择postgre兼容,不成功时,记得切换大小写。

2. 启动报 用户 "system" Password 认证失败时,修改相关配置文件在一般在 /data/sys_hba.conf, 修改IPV4 local connections选项下面第一条的method为trust。
    参考:人大金仓8.6版本安装错误-CSDN博客

3. 安装PHP服务器,支持PDO,PDO支持PGSQL,PostgreSQL(libpq) Version选择10以上的版本,因此PHP最好选择7.4以上,否则不支持。

 

安装完成之后就可以正常启动数据库,人大金仓自带了数据库管理客户端,可以正常使用。有个小技巧,既然兼容postgre,那么也可以使用任何postgre的客户端来访问数据库了。

 

 

人大金仓上运行Drupal CMS

 

接下来安装Drupal,上面我们说既然人大金仓兼容Postgre,那么直接就用postgre的PHP驱动去访问数据库就可以了,所以不需要用金仓自定义的kdb来连接数据库,这样一路安装下来,基本没有什么兼容问题,步骤如下:

1. 下载Drupal,选择9.3+版本

2. 安装Drupal,选择PostgreSQL,记得host最好是IP或者127.0.0.1,不要使用localhost

3. 数据库最好不要用system账号,新建一个数据库,新建一个账号,赋予这个数据库的读写权限

接下来,安装下一步以及需要填写的信息,就可以安装成功,几乎没有什么问题,并且完全兼容中文(UTF8,金仓貌似不支持UTF8MB4),后面开发或者安装模块,估计也是几个小小的函数兼容问题。

自此,人大金仓就完全安装到Drupal上了,可以参考下面的截图。

 

 

 

 

经过测试,Drupal运行基本都兼容,因此Drupal 开源CMS + 国产数据库,就算是一套标准的国产化的CMS解决方案了。

更多信息可以参考我们CMS的其他解决方案,

 

1、如何通过开源方案自建视频课程平台

2、在线视频教育学习平台介绍

3、如何用开源的系统来构建知识库平台?

4、开源的CMS如何实现问卷调研?

5、如何基于开源系统构建资料库/文档库平台

6、如何建设在线展览和多媒体展览?

7、在线展览和多媒体展示建设方案