Windows+IIS+PHP+达梦数据库(DM7)架构搭建

准备工作:
本文系统版本为Windows 7 旗舰版 SP1 64位。其他配置版本请详见下文。
IIS 7.0:
windows系统自带IIS,不过需要在“控制面板-程序-打开或者关闭windows功能”中打开,由于目前IIS支持与PHP协同工作使用FastCGI方式,所以需要在IIS功能子目录下勾选CGI选项。
在这里插入图片描述
在这里插入图片描述

注1:本篇教程同样适用于IIS8。
注2:IIS对PHP的支持可以采用三种模式,其中FastCGI方式性能最佳,也是目前的主流和发展方向,故本文只对该模式的配置方式做说明。如果确实需要使用ISAPI方式,则相应的需要勾选对应的功能选项。
校验:浏览器中输入http:127.0.0.1,打开下图,说明IIS配置成功。
图 3

PHP5.4 (php-5.4.44-Win32-VC9-x86):
DM7(V7.1.5 32位):

可从达梦数据库官网下载最新版本DM7数据库Windows下32位版,安装并初始化库。具体请参考DM安装手册,及DM管理员手册。
安装完成后请将安装目录下的bin文件夹添加到系统环境变量。

开始搭建:

Step-1:安装PHP
将下载的PHP压缩包解压至硬盘,比如C:\

Step-2:复制DM7对应PHP版本的扩展模块
打开达梦安装目录bin文件夹,复制php54_dm.dll文件至PHP安装目录ext文件夹内。(如果使用pdo方式,则需要添加pdo54_dm模块)

Step-3:配置php.ini
将PHP安装目录下的php.ini-development另存为php.ini。
在这里插入图片描述
打开php.ini,查找extension_dir,修改参数为PHP安装目录下ext文件夹的路径
在这里插入图片描述
添加扩展模块php54_dm:(如果使用pdo方式,则需要添加pdo54_dm模块)
在这里插入图片描述
注:前面有分号的表示未启用。
在ini文件最后添加DM默认设置项:(注1:此步骤可选;注2:参数值如库名、用户名、端口号等请视具体情况修改)

[dm]
; 是否允许持久性连接
dm.allow_persistent   = 1
; 允许建立持久性连接的最大数.-1 为没有限制.
dm.max_persistent   = 3
; 允许建立连接的最大数(包括持久性连接).-1 为没有限制.
dm.max_links   = 3
; 默认的主机地址
dm.default_host   = localhost
; 默认登录的数据库
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

Step-4:配置IIS
打开IIS管理器,打开“处理程序映射”选项。
在这里插入图片描述
在打开的页面右侧中双击添加模块映射选项。
在这里插入图片描述
设置如下,其中红框中参数请根据你的php安装目录自行设置。
在这里插入图片描述
设置默认文档,添加index.php以及default.php。
在这里插入图片描述
在这里插入图片描述
配置完毕!

检验成果:

Step-1:添加站点:test_php (本例中端口号8088,主目录php_test)
图 12
在这里插入图片描述

注:保证test_php 处理程序映射 中 PHP FastCGI 的 条目类型 为 继承。
在这里插入图片描述

Step-2:编写测试php页面
在网站主目录(如本例中C:\php_test)下增加文件index.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   LEVEL,LEVEL*10 CONNECT BY LEVEL <6;");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
echo "SELECT LEVEL,LEVEL*10   CONNECT BY LEVEL <6;";print_r($result_arr);echo "QUIT!";
$pdo=null;
}
catch(PDOException $e){
     print( "Error: " . $e->getMessage())."\n";
}
?>

校验:浏览器中输入http://localhost:8088/,打开下图,说明FastCGI配置成功。
在这里插入图片描述

Step-3:编写php页面,连接DM7
修改网站主目录(如本例中C:\php_test)中文件index.php,内容如下:(注:参数值如库名、用户名等请视具体情况修改)

<?php
/* 连接数据库 */
$link = dm_connect("localhost",   "SYSDBA", "SYSDBA")
or   die("Could not connect : " . dm_error());
print "已连接数据库 DM:</br>";
/* 执行 SQL 查询 */
$query = "select * from v\$version;";
$result = dm_query($query) or die("Query   failed : " . dm_error());
print "执行查询数据: </br>";
/* 在 HTML 中打印结果 */
print "<table border=\"1\"   cellspacing=\"1\" cellpadding=\"1\">\n";
while ($line = dm_fetch_array($result,   DM_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print   "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
/* 释放资源 */
dm_free_result($result);
/* 断开连接 */
dm_close($link);
?>

Step-4:浏览页面
在这里插入图片描述
SUCCESS!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值