【无标题】

【超详细】PHP 8.1.23 适配达梦数据库DM8 环境配置教程(x86_64)

(自己进行记录-.-)

一、教程简介

本文适用于 Linux x86_64 架构 服务器,手把手完成PHP 8.1.23 对接 达梦数据库 DM8 扩展环境搭建,包含扩展部署、环境变量配置、系统依赖兼容修复、加载验证、服务重启全套流程。

解决常见问题:PHP 无法识别达梦扩展、数据库连接失败、系统 openssl 依赖冲突、SSH 连接异常等兼容问题,可直接用于生产环境部署。

环境参数

  • 系统架构:x86_64 Linux

  • PHP 版本:8.1.23

  • 数据库版本:达梦数据库 DM8

  • 部署方式:PHP-FPM 模式

二、前置准备(必看)

服务器需提前安装部署好 达梦DM8数据库,确保以下核心目录存在且完整:

  • DM8 核心程序目录:/yiyum/soft/dm8/bin

  • DM8 PHP驱动目录:/yiyum/soft/dm8/drivers/php_pdo

若无以上目录,需先完成达梦数据库安装,否则后续扩展无法正常加载。

三、查看PHP扩展安装目录

首先查询当前PHP的扩展存放路径,后续驱动文件需放入该目录:

php -i | grep extension_dir

默认输出路径(通用):

/usr/lib64/php/modules

四、部署达梦PHP8.1扩展驱动

进入达梦数据库PHP驱动目录,找到PHP8.1 专属驱动文件(后缀 .so):

  • libphp81_dm.so(基础驱动)

  • php81_pdo_dm.so(PDO驱动,支持TP/Laravel等框架)

将两个驱动文件复制到PHP扩展目录:

cp /yiyum/soft/dm8/drivers/php_pdo/libphp81_dm.so /usr/lib64/php/modules/
cp /yiyum/soft/dm8/drivers/php_pdo/php81_pdo_dm.so /usr/lib64/php/modules/

💡 注意:严格对应PHP版本,8.1版本必须使用 php81_ 前缀驱动,不可混用8.0/8.2版本驱动。

五、配置系统环境变量

配置达梦数据库全局环境变量,让系统和PHP识别DM8依赖库(推荐必配)。

编辑系统环境变量配置文件:

vi /etc/profile

文件末尾追加以下内容:

export DM_HOME=/yiyum/soft/dm8
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/yiyum/soft/dm8/bin:/yiyum/soft/dm8/drivers/php_pdo
export PATH=$PATH:$DM_HOME/bin

保存退出,执行命令生效环境变量:

source /etc/profile

六、修改PHP配置加载扩展

编辑PHP扩展配置文件,手动加载达梦数据库驱动。

新建/编辑 pdo 扩展配置文件:

vi /etc/php.d/20-pdo.ini

写入以下两行配置(PHP8.1专用):

extension=php81_pdo_dm.so
extension=libphp81_dm.so

保存退出,完成扩展注册。

七、拷贝达梦核心依赖库

libdmdpi.so 是达梦数据库核心依赖文件,需放入系统库目录供PHP调用。

先查找文件真实路径:

find / -name libdmdpi.so

复制到系统全局库目录:

cp /home/dmdba/dmdbms/bin/libdmdpi.so /usr/lib64/

八、解决 openssl 依赖兼容(高危重点)

极高风险警告:该步骤修改系统全局 openssl 软链接,操作失误会直接导致 SSH 断开、无法远程连接服务器!务必先备份原文件!

达梦数据库自带 openssl 依赖,与系统默认库存在版本冲突,需手动替换软链接适配。

1、进入系统库目录

cd /usr/lib64/

2、备份系统原文件(必做)

mv libcrypto.so libcrypto.so.bak

3、创建达梦版本软链接

ln -s /home/dmdba/dmdbms/bin/dependencies/libcrypto.so libcrypto.so

九、验证扩展加载状态

执行以下命令,检查达梦扩展是否成功载入PHP:

php -m | grep dm
php -m | grep DM

正常结果:终端输出 libphp81_dmphp81_pdo_dm 两个扩展名称,代表加载成功。

十、重启PHP-FPM 生效全部配置

systemctl restart php-fpm

重启无报错即代表环境配置完成,网站可正常连接达梦数据库。

十一、常见避坑总结

  1. 版本严格匹配:PHP8.1 只能使用 php81_ 前缀驱动,版本不匹配会直接加载失败;

  2. 禁止跳过备份:libcrypto.so 操作必须备份,线上服务器优先测试环境验证;

  3. 目录一致性:达梦安装路径需和配置文件、环境变量路径完全一致;

  4. 权限问题:.so 驱动文件需保证可读权限,否则php-fpm启动失败;

  5. 架构匹配:x86_64 系统必须使用64位达梦驱动,不支持32位。

十二、最终总结

PHP8.1 适配达梦DM8的核心难点不在于扩展部署,而在于 openssl 依赖兼容版本严格对应。按照本文步骤完整配置,可彻底解决PHP无法连接达梦、扩展不生效、服务启动异常等问题,适配所有Linux x86_64生产服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值