您现在的位置是:首页 > 经验记录>PHP入门到跑路>PHP使用达梦数据库,安装达梦PDO扩展踩坑 网站首页 PHP入门到跑路

PHP使用达梦数据库,安装达梦PDO扩展踩坑

环境说明

1、本机环境:win11下Docker运行NPM,现想要将数据库迁移至使用达梦,在PHP5.6环境内安装PDO_DM扩展,以方便项目开发。如果你是纯windows环境,也可以看本文章,坑原理相同。

2、这里不讨论怎么看PHP是NTS还是TS,下载什么版本的pdo.so等问题,请自行解决,仅记录坑。

PHP5.6安装达梦扩展步骤

1、当前环境是Linux环境,所以需要将达梦(linux下安装的)安装路径下bin和drivers完整下载,放到你php5.6目标服务器下(千万不要去下在下面图中这个,坑,直接用安装的达梦数据库路径下的文件):

image.png

2、在php.ini中,增加(/www/换成你服务器上真实路径):

extension=/www/drivers/php_pdo/libphp56_dm.so

extension=/www/drivers/php_pdo/php56_pdo_dm.so


3、这个是否如果你直接重启php服务或者php -m等查看扩展,会报错:PHP Fatal error: Unable to start DM module in Unknown,咱们继续

在 /etc/ld.so.conf.d 下,创建dm.conf,在里面输入/usr/lib64/及bin文件夹(也就是前面说的你去下载的达梦安装路径下的bin文件夹)所在目录:如:/mnt/www/dmdba/dmdbms/bin,保存后,执行ldconfig生效。

image.png

执行:ldconfig

image.png


ok,重启php-fpm服务,扩展已挂上。如果你去达梦官网下载PDO扩展,会一直重复在第3步的报错里面




其他:

1、检查/usr/lib64 下是否缺失 libcrypto.so 动态链接库

如果没有,则链接或直接copy达梦bin下的 libcrypto.so到/usr/lib64下,如果你Debian,则一般是/usr/lib/x86_64-linux-gnu/目录

2、关于中文乱码,可看官方文档:https://eco.dameng.com/document/dm/zh-cn/faq/faq-php-new.html#php%20%E4%BD%BF%E7%94%A8%20PDO%20%E8%BF%9E%E6%8E%A5%E8%BE%BE%E6%A2%A6%E5%87%BA%E7%8E%B0%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81

处理方式就是在你当前php环境的对应目录下创建一个dm_svc.conf,内容设置为(达梦数据库端服务器也要同样配置内容):

TIME_ZONE=(480)

LANGUAGE=(CN)

CHAR_CODE=(PG_UTF8)


文章评论

未开放
Top