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ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ、PHP開源 CMS Drupal 對接國產數據庫之達夢數據庫
2✺ϟ☇♤♧♡♢♠♣♥、在線視頻教育學習平臺介紹
3❣❦❧♡۵、如何用開源的系統來構建知識庫平臺❣❦❧♡۵?
4⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾、開源的CMS如何實現問卷調研✵✶✷✸✹✺✻✼❄❅?
5⒜⒝⒞⒟⒠⒡⒢⒣⒤、如何基于開源系統構建資料庫/文檔庫平臺
6✺ϟ☇♤♧♡♢♠♣♥、如何建設在線展覽和多媒體展覽⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯?
7❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣、在線展覽和多媒體展示建設方案