【超详细】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_dm、php81_pdo_dm 两个扩展名称,代表加载成功。
十、重启PHP-FPM 生效全部配置
systemctl restart php-fpm
重启无报错即代表环境配置完成,网站可正常连接达梦数据库。
十一、常见避坑总结
-
版本严格匹配:PHP8.1 只能使用
php81_前缀驱动,版本不匹配会直接加载失败; -
禁止跳过备份:libcrypto.so 操作必须备份,线上服务器优先测试环境验证;
-
目录一致性:达梦安装路径需和配置文件、环境变量路径完全一致;
-
权限问题:.so 驱动文件需保证可读权限,否则php-fpm启动失败;
-
架构匹配:x86_64 系统必须使用64位达梦驱动,不支持32位。
十二、最终总结
PHP8.1 适配达梦DM8的核心难点不在于扩展部署,而在于 openssl 依赖兼容 和 版本严格对应。按照本文步骤完整配置,可彻底解决PHP无法连接达梦、扩展不生效、服务启动异常等问题,适配所有Linux x86_64生产服务器。

2773

被折叠的 条评论
为什么被折叠?



