Skip to content
网游世界
网游世界

吾生有涯,而知无涯。

  • 首页
  • PHP
    • ThinkPHP
    • FastAdmin
    • webman
  • JavaScript
    • jQuery
    • AdminLTE
  • Free Pascal
  • Java
    • JeeSite
    • 若依
    • ruoyi-vue-pro
  • 其它
    • 操作系统
    • 树莓派
    • 前端
    • Null
  • 关于
网游世界

吾生有涯,而知无涯。

Windows 下配置 PHP PDO 连接达梦数据库

3Vshej, 2024年5月19日 周日2024年5月19日 周日

本文将介绍 Windows 下 PHP PDO 方式连接达梦数据库。

1、官网下载:https://www.dameng.com/
根据需要完整安装或只安装管理工具。

2、完成后,将安装目录下 \bin 添加到系统环境变量中。

3、打开安装目录下 drivers\php_pdo 目录

4、确定你的 PHP 配置,并在 php_pdo 目录中,搜索需要的版本,*74*.dll(右上角搜索框)

如,结果为:
php74nts_dm.dll
php74_dm.dll
pdo74nts_dm.dll
pdo74_dm.dll

包含,nts 为,非线程安全版本。

5、复制 dll 到 PHP 指定版本 ext 目录。
如,我使用的是,php7.4.3nts。
因此,我需要复制,php74nts_dm.dll、pdo74nts_dm.dll。

6、在 php.ini 中增加配置

extension=php74nts_dm.dll
extension=pdo74nts_dm.dll

并确定,extension_dir 配置项,设置了ext 所在目录。

7、根据需要增加达梦数据库配置(可以忽略)

[DM]

; 端口
dm.port=5237

; 是否允许持久性连接
dm.allow_persistent = 1

; 允许建立持久性连接的最大数. -1 为没有限制.
dm.max_persistent = -1

; 允许建立连接的最大数(包括持久性连接). -1 为没有限制.
dm.max_links = -1

; 默认的主机地址
dm.default_host = 127.0.0.1

; 默认登录的数据库
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

8、查看配置
如果设置了 PHP 环境变量,则可以输入以下命令,来查看 PHP 配置。

php -r "echo '<pre>',phpinfo(),'</pre>';" > info.html

完成后,会在当前目录创建 info.html 文件。打开中,查询 DM,以确定加载成功。

9、连接测试

<?php
// 连接达梦数据库
$dsn      = "dm:host=127.0.0.1;port=5236;dbname=CONTRACTOR;charset=utf8";
$username = "CONTRACTOR";
$password = "123456";
$options  = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);

try {
    $conn = new PDO($dsn, $username, $password, $options);
    echo "PDO 连接成功!";
} catch (PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

关于写入乱码问题:

在 C:\Windows\System32\dm_svc.conf 中,增加:

CHAR_CODE=(PG_UTF8)

关于load fun EVP_sm3_fun fail! 错误:

将 drivers\dpi\ 下,libeay32.dll、ssleay32.dll 文件,复制到 PHP 程序目录,如 \php\php7.4.3nts 即可。

参考:

  • Windows下使用php连接达梦数据库
  • PHP使用达梦数据库PDO方式中文乱码的解决办法
  • PHP 达梦数据库应用开发常见问题

相关文章:

  1. 重新安装 Windows 服务器管理器 Windows Server 2019 需要重新安装 IIS,谁知在安装后,服务器管理器找不到了,“......
  2. Windows MSI 程序卸载工具 在 Windows 中某些程序无法卸载,通常是 .msi 安装的程序,也或者其他原因,造成程序无法卸......
  3. FastAdmin BT 面板设置 PHP 上传大小 FastAdmin 使用 BT 面板管理站点,开发中,需要调整上传文件的大小。...
  4. Windows 下的 rsync rsync 工具是很方便的文件同步工具,在 Windows 下可以使用 cwrsync。...
PHP 其它 操作系统 PHPWindows达梦数据库部署

文章导航

Previous post
Next post

近期文章

  • Android Studio Gradle 配置国内镜像
  • 为什么重新发明轮子
  • ruoyi-vue-pro 匿名访问
  • VUE 中接收 code 异常
  • 关于 AI

归档

  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
除非特殊说明,本站作品采用知识共享署名 4.0 国际许可协议进行许可。
豫公网安备 41010402002622号 豫ICP备2020029609号-3
©2025 3Vshej