1. 程式人生 > 實用技巧 >人大金倉資料庫 Laravel5.x 相容問題處理

人大金倉資料庫 Laravel5.x 相容問題處理

基礎版本資訊
魔改資料庫檔案
擴充套件載入
資料庫配置修改
libkdb.so.5 未找到問題
libssl.so.6 未找到問題TOC

基礎版本資訊

人大金倉V8R3
Laravel 5.x
centos7.x

魔改資料庫檔案

\vendor\laravel\framework\src\Illuminate\Database\Connectors\ConnectionFactory.php
246 行,增加 case 'kdb':case 'pgsql' 上方
278 行,增加 case 'kdb':case 'pgsql' 上方

\vendor\laravel\framework\src\Illuminate\Database\Connectors\ConnectionFactory.php


145 行,替換資料庫 DSN

// $dsn="pgsql:{$host}dbname={$database}"
$dsn="kdb:{$host}dbname={$database}"

擴充套件載入

php.ini 檔案中增加

extension=pdo_kdb
extension=pdo_pgsql

資料庫配置修改

Laravel database.php 中配置 default 為 pgsql,pgsql 中的 driver 改為 kdb 其他看情況改,別忘了 PG 比 MYSQL 多了一層 schema。

libkdb.so.5 未找到問題

要特別注意 pdo_kdb.so 的版本問題,儘量接近你要部署的 PHP版本,不然可能會造成

libssl.so.6 未找到問題

要小心在 docker 中使用造成的 openssl 依賴庫丟失,這個 shit 資料庫引用了一個 0.9.8e 的 openssl 庫,如果你使用較新的作業系統可能不包含相應的動態庫檔案,要麼你自己在容器對應的 Linux發行版內編譯一份上古版本的 openssl 動態庫,要麼你換一個linux發行版。