当前位置: 首页 > article >正文

麒麟桌面系统V10 SP1安装php的达梦数据库扩展

一、安装达梦数据库(如果该web环境不安装,需要从已经安装的环境里拷贝驱动文件,注意系统架构和php版本的适配性)
1. 参考https://eco.dameng.com/document/dm/zh-cn/start/install-dm-linux-prepare.html的步骤安装数据库

二、安装dm扩展
1. 从本机或其他同系统架构的主机上的达梦安装目录拷贝驱动程序到php的扩展目录,以本机安装达梦数据库为例,根据本机的php版本为7.3.33 NTS(lnmp一键安装的php),选择与相应的库文件:

sudo cp /home/dmdba/dmdbms/drivers/php_pdo/libphp73_dm.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/
sudo cp /home/dmdba/dmdbms/drivers/php_pdo/php73_pdo_dm.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/

2. 从本机或其他同系统架构的主机上的达梦安装目录拷贝bin目录下的动态库文件到系统的动态库目录,否则报错:PHP Fatal error:  Unable to start DM module in Unknown on line 0

注意:

  1. 此处达梦官网文档上的指导是错误的;
  2. 拷贝时如果直接cp不能识别通配符*可以用sh -c的方式来执行命令
sudo sh -c "cp /home/dmdba/dmdbms/bin/*.so /usr/lib"
sudo sh -c "cp /home/dmdba/dmdbms/bin/*.so /usr/lib64"

3. 在/usr/local/php/etc/php.ini,添加上以下配置并保存:

# 此部分不完全与官网的配置一致
# 不要[PHP_DM]模块的配置,将extension的配置直接跟其他的动态库放在一起
...
extension=oci8.so
extension=pdo_oci.so
extension=libphp73_dm.so
extension=php73_pdo_dm.so
# dm模块配置与官网一致
[dm]
dm.port=5236
; ; 是否允许持久性连接
 dm.allow_persistent = 1
; ; 允许建立持久性连接的最大数. -1 为没有限制.
 dm.max_persistent = -1
; ; 允许建立连接的最大数(包括持久性连接). -1 为没有限制.
 dm.max_links = -1
; ; 默认的主机地址
 dm.default_host = localhost
; ; 默认登录的数据库
 dm.default_db = SYSTEM
; ; 默认的连接用户名
 dm.default_user = SYSDBA
; ; 默认的连接口令.
 dm.default_pw = SYSDBA
; ;连接超时,这个参数未实际的用到,等待服务器支持
 dm.connect_timeout = 10
; ;对于各种变长数据类型,每列最大读取的字节数。如果它设置为 0 或是小于 0,那么,读取变长字段时,将显示 NULL 值
 dm.defaultlrl = 4096
; ; 是否读取二进制类型数据,如果它设置为 0,那么二进制将被 NULL 值代替
 dm.defaultbinmode = 1
; ;是否允许检察持久性连接的有效性,如果设置为 ON,那么当重用一个持久性连接时,会检察该连接是否还有效
 dm.check_persistent = ON

4. 执行命令php -m,确认已经安装上了达梦扩展模块

it0@it0-pc:~$ php -m | grep DM
DM
PDO_DM


 


http://www.kler.cn/news/327001.html

相关文章:

  • latex打出邮箱图标和可点击的orcidID
  • NXP(恩智浦)—MC33PF8200A0ES PMIC芯片详解
  • 【COSMO-SkyMed系列的4颗卫星主要用途】
  • Spring Boot技术:构建高效网上购物平台
  • 高效学习工作SMART原则
  • C++中set集合和Python中set集合的区别
  • 【Golang】关于Go语言数学计算、随机数生成模块--math
  • 微信小程序使用picker,数组怎么设置默认值
  • RabbitMQ MQ的可靠性及消费者的可靠性
  • 【Ubuntu】VMware中虚拟网卡与服务器网卡的绑定
  • XHTML学习
  • MacOS升级Ruby版本详解:步骤、挑战与解决方案
  • 【Linux:线程概念】
  • 【并发】ThreadLocal 为什么会内存泄露
  • golang小项目1-家庭收支记账系统
  • java计算机毕设课设—超级玛丽游戏(附源码、文章、相关截图、部署视频)
  • OJ在线评测系统 后端基础部分开发 完善CRUD相关接口
  • 【ARM 嵌入式 C 入门及渐进26 -- 内敛函数和宏定义的区别】
  • armbian安装docker
  • MongoDB的查询/超详细/表达式符号
  • SQLMap使用指南
  • Linux服务安装node,npm与yarn
  • 0-1开发自己的obsidian plugin DAY 6
  • 数据挖掘的基本步骤和流程解析:深入洞察与策略实施
  • 重修设计模式-行为型-责任链模式
  • ubuntu24.04 最好的输入法是什么?
  • 【ARM 嵌入式 编译系列 10.6 -- ARM toolchain examples】
  • 【Docker】解决Docker Engine stopped
  • cocos打包后发布web,控制台报错.plist资源下载404
  • Netty 与 WebSocket之间的关系