在网上找的说明,实际操作下来可以用,就记录一下,真的是好不容易才找到解决方案

参考《达梦适配php ldconfig崩溃解决方法》

前言:

一开始php连接达梦,修改php.ini的扩展配置之后无法启动php,错误代码如下

Unable to start PDO_DM module in Unknown on line 0

百度了许久找到的解决办法都是修改环境变量后,ldconfig重置动态库,但是重置完许多命令丢失,重启后系统直接崩溃,百度良久找不到解决办法,后来发现不应该直接将环境变量指向达梦下的bin目录。以下是我总结出来的方法。

一、将原有会报错的环境变量删除

# 这一步我没有
cd /etc/ld.so.conf.d/
  1. 进入存有环境变量的文件夹,将dameng.conf删除(根据自己会办错的文件,文件内一般是指向达梦安装目录下的bin)
  2. rm -rf dameng.conf
  3. ls查看是否删除成功,看到dameng.conf消失即可。

二、编辑环境

  1. vim /etc/profile.d/dm.sh 创建dm.sh 并在dm.sh文件内根据以下格式添加:

    # 格式为:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/php安装路径/dm/
    # 假设php安装路径为:/usr/local/php
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/php/dm/
  2. 查看在php安装路径下是否有dm文件夹,若没有则新建dm文件夹

    cd /www/server/php/74
    ls
    mkdir ./dm

    三、将达梦安装路径目录下所有的头为libdm*复制到php安装目录下的/dm/

    # 格式为:
    cp /dm安装路径/*/libdm* /php安装路径/dm/
    # 假设达梦安装目录为:/home/dmdba/dmdbms
    # php安装目录为/usr/local/php
    cp /home/dmdba/dmdbms/*/libdm* /usr/local/php/dm/

四、设置环境变量

  1. 进入/etc/ld.so.conf.d下新建文件dm.conf;
  2. 将php安装目录/dm/ 写入dm.conf
  3. 重置动态库,该操作可能会导致系统再次崩溃如果有条件请先设好还原点或者快照
vi /etc/ld.so.conf.d/dm.conf
#
/usr/local/php/dm/
#
ldconfig

五、复制文件

将/dm安装目录/drivers/php_pdo下对应版本的libphp_dm.so 和php_pdo_dm.so

复制到/php安装目录/src/ext/zip/modules 下

六、重启php

lnmp restart
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。