背景
由于国产化需要,需要在服务器上安装麒麟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/