人大金倉資料庫 Laravel5.x 相容問題處理
阿新 • • 發佈:2020-11-25
基礎版本資訊
魔改資料庫檔案
擴充套件載入
資料庫配置修改
libkdb.so.5 未找到問題
libssl.so.6 未找到問題
145 行,替換資料庫 DSN
魔改資料庫檔案
擴充套件載入
資料庫配置修改
libkdb.so.5 未找到問題
libssl.so.6 未找到問題
基礎版本資訊
人大金倉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發行版。