首页 > 数据库 > 国内数据库 > 达梦 PHP及PDO配置方法
|
类别 |
版本 |
安装路径 |
|
操作系统 |
Windows 10 企业版 (64位) |
/ |
|
Apache |
Apache/2.4.18 (32 位) |
D:\AppServ\Apache24 |
|
PHP |
PHP 5.6.17 (32 位) |
D:\AppServ\php5 |
|
dm7 |
V7.6.0.153-Build(2019.04.16-105603)ENT (32 位) |
D:\dmdbms |
Ø 查看Apache版本
|
C:\Users\Administrator> httpd -v Server version: Apache/2.4.18 (Win32) Server built: Dec 9 2015 11:12:24 |
Ø 查看php版本
|
D:\> cd D:\AppServ\php5 D:\AppServ\php5> php.exe -v PHP 5.6.17 (cli) (built: Jan 6 2016 13:28:38) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies |
1. 将数据库D:\dmdbms\drivers\php_pdo\php56ts_dm.dll拷贝到D:\AppServ\php5\ext目录下。
2. 在D:\AppServ\php5\php.ini中加入动态扩展模块
|
extension_dir = " D:/AppServ\php5\ext" -- 具体路径以实际为准 extension=php56ts_dm.dll |
注意:前面有分号的表示未启用。
3. 在D:\AppServ\php5\php.ini中添加DM默认设置项:(此步骤可选)
|
[dm] ; 是否允许持久性连接 dm.allow_persistent = 1 ; 允许建立持久性连接的最大数.-1 为没有限制. dm.max_persistent = 3 ; 允许建立连接的最大数(包括持久性连接).-1 为没有限制. dm.max_links = 3 ; 默认的主机地址 dm.default_host = 127.0.0.1 ; 默认登录的数据库 dm.default_db = DAMENG ; 默认的连接用户名 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 ; 连接的端口号 dm.port = 5236 |
4. 配置D:\AppServ\Apache24\conf\httpd.conf文件
|
listen 80 ServerName LOCALHOST:80 DocumentRoot " D:/AppServ/www" <Directory " D:/AppServ/www"> <IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule> LoadModule php5_module D:/AppServ/php5/php5apache2_4.dll PHPIniDir " D:/AppServ/php5/" |
5. 在 D:/AppServ/www目录下创建test.php文件,并添加以下内容
|
<?php /* 连接数据库 */ $link = dm_connect(" 127.0.0.1", " SYSDBA", " SYSDBA") or die("Could not connect : " . dm_error()); print " 数据库类型:DM</br>"; /* 执行SQL查询 */ $query = "SELECT * FROM V\$VERSION WHERE ROWNUM = 1;"; $result = dm_query($query) or die("Query failed : " . dm_error()); print " 数据库版本:"; /* 打印结果 */ while ($line = dm_fetch_array($result, DM_ASSOC)) { foreach ($line as $col_value) { print "<td>$col_value</td>"; } } /* 释放资源 */ dm_free_result($result); /* 断开连接 */ dm_close($link); ?> |
6. 配置系统环境变量
|
PATH = D:\dmdbms\bin -- 数据库bin目录具体以实际为准 |
7. 启动数据库及Apache服务
Ø 配置过程一:
1. 在D:\AppServ\php5\php.ini中加入动态扩展模块
|
extension= D:\dmdbms\drivers\php_pdo\pdo56_dm.dll -- 具体路径以实际为准 |
注意:前面有分号的表示未启用。
2. 在 D:/AppServ/www目录下创建test.php文件,并添加以下内容
|
<?php try { if($pdo = new PDO("dm:host= 127.0.0.1"," SYSDBA"," SYSDBA")) echo " connect success"; } catch(PDOException $e){ print "Error: " . $e->getMessage() . "<br/>"; die(); } ?> |
3. 执行结果
|
D:\> cd D:\AppServ\php5 D:\AppServ\php5> set PATH=$PATH; D:\dmdbms\bin -- 设置环境变量 D:\AppServ\php5> php.exe D:\AppServ\www\test.php connect success |
Ø 配置过程二:
1. 在D:\AppServ\php5\php.ini中加入动态扩展模块
|
extension= D:\dmdbms\drivers\php_pdo\pdo56_dm.dll -- 具体路径以实际为准 |
注意:前面有分号的表示未启用。
2. 在 D:/AppServ/www目录下创建test.php文件,并添加以下内容
|
<?php try { $pdo = new PDO("dm:host= 127.0.0.1"," SYSDBA"," SYSDBA"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $rs = $pdo->query("SELECT * FROM V\$VERSION WHERE ROWNUM = 1;"); $rs->setFetchMode(PDO::FETCH_ASSOC); $result_arr = $rs->fetchAll(); echo "<pre>";print_r($result_arr);echo "<pre>"; $pdo=null; } catch(PDOException $e){ print( "Error: " . $e->getMessage())."\n"; } ?> |
3. 配置系统环境变量
|
PATH = D:\dmdbms\bin -- 数据库bin目录具体以实际为准 |
4. 启动数据库及Apache服务
1. Apache 、PHP均为32位,采用的数据库版本也要为32位。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949798/viewspace-2659095/ ,如需转载,请注明出处,否则将追究法律责任。