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目录的绝对路径

python连接达梦并构造数据 php连接达梦数据库_linux


然后一定要记住执行一下ldconfig,不然就会出现一些莫名的错误。

因为达梦数据库不是系统自带的,所以不能写入到/lib和/usr/lib下面,我们要添加到/etc/ld.so.conf.d/下面。ldconfig这个命令是动态链接库的管理命令,我们在文件中写入后,需要执行一下来使系统共享我们所设置的动态链接库。此时启动php也可以解决这个php报错,不过也可能出现其他的报错。思路三

此时在我们通过第二个步骤执行ldconfig之后,可能会出现lib*.so is not a symbolic link 不是符号连接。

python连接达梦并构造数据 php连接达梦数据库_数据库_02


这个时候我们去bin下面找到报错的这个*.so文件,将其mv改一下名字,然后用ln -sf创建一个原*.so名字的软连接然后指认一下改名后的文件。这个时候再去执行ldconfig应该就没有问题了。php的启动问题就解决了。