网上关于PHP安装达梦数据库的文章很少,自己在安装这个扩展的时候也踩了不少坑。特此记录下,希望可以观看的人一点帮助。
- 安装达梦数据库的过程就不做过多介绍了,跟着官方给的文档走就行了
- 找到达梦数据库的安装目录,在下面有个drivers的目录,是存放PHP扩展文件的目录。我们把这个目录记录下来
- 找到php.ini文件的位置,打开并编辑,在ini文件最后加上类似这样一段:
[dm]
extension=/home/dmdba/dmdbms/drivers/php_pdo/libphp73_dm.so 这里根据实际情况写
extension=/home/dmdba/dmdbms/drivers/php_pdo/php73_pdo_dm.so 这里根据实际情况写
; 是否允许持久性连接
dm.allow_persistent = 1
; 允许建立持久性连接的最大数. -1 为没有限制.
dm.max_persistent = -1
; 允许建立连接的最大数(包括持久性连接). -1 为没有限制.
dm.max_links = -1
; 默认的主库地址
dm.default_host = localhost
; 默认的连接用户名
dm.default_user = SYSDBA
; 默认的连接口令.
dm.default_pw = SYSDBA
; 连接超时,这个参数未实际的用到,等待服务器支持
dm.connect_timeout = 10
; 对于各种变长数据类型,每列最大读取的字节数。如果它设置为 0 或是小于 0,那么,读取变长字段时,
dm.defaultlrl = 4096
; 是否读取二进制类型数据,如果它设置为 0,那么二进制将被 NULL 值代替
dm.defaultbinmode = 1
; 是否允许检察持久性连接的有效性,如果设置为 ON,那么当重用一个持久性连接时,会检察该连接是否
dm.check_persistent = ON
extension是扩展文件的目录,这里需要注意自己的PHP版本,还有就是PHP是不是TS版本。根据自己实际情况在填写,我现在使用的达梦8,官方提供到7.4版本,还是不错的。
- 编辑完后保存ini文件,这个时候我们重启我们的php-fpm你会发现报错,报一个类似Unable to start DM moudel in Unknown on line 0 这样一个错误,这个错误官方提供的手册上你是找不到解决方案的。这里非常坑。
- 解决方案:cd 到/etc/ld.so.conf.d目录,执行vim dm.conf。新建一个配置文件出来,里面的内容就填写达梦的bin目录。如:/home/dmdba/dmdbms/bin,然后报存。
- 执行命令:ldconfig。同样你会看到一个xxxxx…不是符号链接的一个错误,这里可以忽略这个错误
- 我们回到php目录。重启PHP-FPM,然后我们输出phpinfo即可看到DM的扩展