麒麟V10安装宝塔部署PHP环境并连接达梦数据库

背景

由于国产化需要,需要在服务器上安装麒麟V10操作系统,并部署php环境及达梦数据库。

安装麒麟V10操作系统

安装界面和过程跟centos几乎一致。

安装达梦数据库

如果该服务器只连接达梦数据库,可以不用安装。
参考《CentOS7命令行安装达梦数据库DM8

安装宝塔

直接复制centos的安装命令安装即可。

安装apache和php

只能使用编译安装。极速安装会导致安装失败。

php安装达梦扩展

根据安装的php版本,将php74_pdo_dm.so文件(达梦安装目录中的drivers/php_pdo)拷贝至php的扩展目录(可以在phpinfo中查看extension_dir),在php.ini文件末尾添加:

extension = php74_pdo_dm.so

注意:需赋予php74_pdo_dm.so执行权限:chmod 755 php74_pdo_dm.so

此时在命令行中输入php -m将提示:Unable to start DM module in Unknown on line 0错误。
原因为还没有添加达梦需要的动态链接库。

添加达梦动态链接库

创建/www/server/php/dm文件夹,然后将达梦安装目录下的bin文件夹中,以libdm开头的so文件全部拷贝至/www/server/php/dm/文件夹。
注:只拷贝达梦bin文件夹中libdm开头的文件,其余的不用拷贝,否则会导致宝塔无法启动。

mkdir /www/server/php/dm
cp /home/dmdba/dmdbms/bin/libdm* /www/server/php/dm/
cd /etc/ld.so.conf.d/
vim dm.conf
#内容如下:
/www/server/php/dm/
#保存后执行:
ldconfig

添加环境变量

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/www/server/php/dm/" > /etc/profile.d/dm.sh

使其立即生效:

source /etc/profile

这时候启动apache就不会报错了,打开phpinfo页面,可以看到添加了PDO_DM扩展。

通过命令行php -m可以看到:

常见错误

/usr/lib64/libLLVM-7.so 不是符号链接

执行ldconfig时,如果出现该错误,可以执行如下命令:

ln -sf /usr/lib64/libLLVM-7.0.0.so /usr/lib64/libLLVM-7.so
ldconfig

段错误 (核心已转储)

执行php -m时,提示段错误 (核心已转储),可以将达梦安装目录下的bin文件夹中,以libc开头的so文件也拷贝至/www/server/php/dm/文件夹。
如果还不行可以考虑在本机安装一次达梦。然后再从达梦的安装目录下拷贝。
拷贝后可能宝塔面板重启会失败,这时可以先将/www/server/php/dm/改个名字,再启动宝塔面板,启动后,再改回去:

mv /www/server/php/dm/ /www/server/php/dm2/
# 重启宝塔
mv /www/server/php/dm2/ /www/server/php/dm/

发表评论

邮箱地址不会被公开。 必填项已用*标注