亂碼問題
新建dm_svc.conf 文件復制以下內容
TIME_ZONE=(480)
LANGUAGE=(cn)
CHAR_CODE=(PG_UTF8)
DM 安裝時生成一個配置文件 dm_svc.conf,不同的平台所在目錄有所不同。
1、32 位的 DM 安裝在 Win32 操作平台下,此文件位於%SystemRoot%\system32 目錄;
2、64 位的 DM 安裝在 Win64 操作平台下,此文件位於%SystemRoot%\system32 目錄;
3、32 位的DM 安裝在Win64操作平台下,此文件位於%SystemRoot%\SysWOW64 目錄;
4、在 Linux 平台下,此文件位於/etc 目錄。
最后記得重啟php-fpm
提示 [-70089]:Encryption module failed to load 錯誤
在達夢bin的libcrypto.so 文件復制一份到 liunx的 /usr/lib 下面
達夢php擴展安裝問題
設置環境變量
假定安裝到/usr/local/DMDBMS 目錄。修改 php.ini,添加 extension_dir=drivers/php_pdo,extension=libphp53_dm.so,添加 php.ini中有關連接的配置。設置環境變量 export LD_LIBRARY_PATH=/usr/local/DMDBMS/bin。
錯誤提示:
ldconfig
ldconfig: /usr/local/lib/gliethttp/libxerces-c-3.0.so is not a symbolic link
問題分析:
因為libxerces-c-3.0.so正常情況下應該是一個符號鏈接,而不是實體文集件,修改其為符號鏈接即可
解決方法:
mv libxerces-c-3.0.so libxerces-c.so.3.0
ln -s libxerces-c.so.3.0 libxerces-c-3.0.so
這樣就ok了
php和達夢數據庫配置完成后,啟動php出現PHP Fatal error: Unable to start DM module in Unknown on line 0報錯,常用解決辦法。
在php與達夢數據庫的配置完成之后,啟動php出現了PHP Fatal error: Unable to start DM module in Unknown on line 0這個報錯。然后常規的思路沒有解決所以寫個完整的思路文章,來避免大家以后踩坑。
思路一:
首先我們要先確定php的配置以及達夢的實例安裝都是沒有問題的,一般出現這個問題,通過許多次的實踐,判斷原因大多是動態庫沒有找到,所以我們先用export設置一下程序共享庫位置。
export LD_LIBRARY_PATH= bin目錄的絕對路徑
此時再啟動一下php,問題有很大的幾率會被解決。
請注意export命令在這里只是為當前環境新增一組環境變量,僅僅在當前的登陸生效,所以為了使問題永久解決,要將此命令添加到開機自啟命令中。
思路二:
如果我們進行了上一個步驟啟動時還是出現PHP Fatal error: Unable to start DM module in Unknown on line 0這個報錯,那么咱們換一種解決方式,cd到/etc/ld.so.conf.d/下面,創建一個dameng.conf文件里面寫上bin目錄的絕對路徑。
然后一定要記住執行一下ldconfig,不然就會出現一些莫名的錯誤。
因為達夢數據庫不是系統自帶的,所以不能寫入到/lib和/usr/lib下面,我們要添加到/etc/ld.so.conf.d/下面。ldconfig這個命令是動態鏈接庫的管理命令,我們在文件中寫入后,需要執行一下來使系統共享我們所設置的動態鏈接庫。此時啟動php也可以解決這個php報錯,不過也可能出現其他的報錯。
思路三:
此時在我們通過第二個步驟執行ldconfig之后,可能會出現lib*.so is not a symbolic link 不是符號連接。
這個時候我們去bin下面找到報錯的這個*.so文件,將其mv改一下名字,然后用ln -sf創建一個原*.so名字的軟連接然后指認一下改名后的文件。這個時候再去執行ldconfig應該就沒有問題了。php的啟動問題就解決了。
————————————————
版權聲明:本文為CSDN博主「星光再弱也是光^-」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_46601767/article/details/113609756
service DmServiceDMSERVER start