设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 操作系统 >> 最新消息 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
没有相关教程
  [图文]通过 Zend Core 使用 PHP 脚本访问 i5/OS 上的 DB2       ★★★★★
通过 Zend Core 使用 PHP 脚本访问 i5/OS 上的 DB2
 

2006 年 9 月 05 日

学习在 i5/OS® 上使用 Zend Core for i5/OS 产品进行 PHP 数据库应用程序开发。另外,您还将学习如何安装 Zend Core,以及如何部署和运行用于访问存储在 DB2® Universal Database™ (DB2 UDB) for iSeries™ 数据库中的数据的 PHP 脚本。

什么是 PHP?

PHP 是 Hypertext Preprocessor 的缩写。PHP 基本上是一种脚本语言,通常用于快速开发 Web 页面。PHP 的最大优点是对于初学者来说比较容易学习。正如本文所展示的那样,开发用于访问 DB2 数据的简单 PHP 脚本也非常容易。可以将 PHP 脚本嵌入在 HTML 脚本中,用于在 Web 页面上显示 DB2 结果。

什么是 Zend Core for i5/OS?

Zend Core for i5/OS 是一款非常新的产品,在撰写本文之际,它的早期访问代码(Early Access Code)已经可以下载和测试了。这是一款令人兴奋的产品,因为我们第一次可以开发和运行完全与 i5/OS 平台集成的 PHP 脚本。在此之前,为了运行 PHP,需要设置一个 PASE 环境,编译 PHP,而且还要完成一系列的设置步骤。而有了 Zend Core 产品之后,则可以在 i5/OS 平台上享受开放、集成的 PHP 环境。

如何设置环境?

本文使用 Zend Core for i5/OS 的早期访问版本 V1.3.1。

在 iSeries 服务器上,需要有以下设置:

  1. 您的计算机应该处于 V5R4 级别,带有最新的软件临时修复程序(PTF)。
  2. 在安装 Zend Core for i5/OS 产品之前,必须创建好 /usr/local IFS 目录。如果该目录不存在,则产品安装会失败,并遇到如图 1 和图 2 所示的错误:


    图 1. 安装错误
    安装错误




    图 2. 安装错误
    安装错误


  3. 确保安装了下列所有产品。您可以输入 Go Licensed Program (GO LICPGM) 命令,并选择 Option 10 (Display),以便查看这些产品是否已经安装在计算机上:



    描述

    产品选项

    特许程序

    Portable App Solutions Environment

    33

    5722ss1

    Qshell

    30

    5722ss1

    System Openness Includes

    13

    5722ss1

    Digital Certificate Manager

    34

    5722ss1

    IBM Portable Utilities for i5/OS

    base*

    5733sc1

    OpenSSH, OpenSST, Zlib

    1

    5733sc1




  4. 最后,为了访问 Zend Core for i5/OS Administration Console,可使用 Internet Explorer 5.5 及以上版本,注意要启用 cookies 和 pop-ups。

安装 Zend Core for i5/OS

检查了安装 Zend Core 产品的先决条件之后,便可以安装该产品了。

  1. 在 iSeries 服务器上,使用

    CRTSAVF FILE(QGPL/ZCORESAVF)


    命令创建一个 savf 文件,并将安装 savf 文件通过 FTP 传送到 iSeries 服务器,放在上述 savf 文件中。

  2. 使用以下命令恢复对象:

    RSTOBJ OBJ(ZENDRSTPRD) SAVLIB(ZENDCORE) DEV(*SAVF) SAVF(QGPL/ZCORESAVF) MBROPT(*ALL) ALWOBJDIF(*ALL) RSTLIB(QGPL)




    图 3. 恢复对象
    恢复对象


  3. 像下面这样开始安装。不断按 Enter 键,直到进入步骤 4:

    CALL PGM(QGPL/ZENDRSTPRD)




    图 4. 开始安装
    开始安装




    图 5. 安装
    安装




    图 6. 安装
    安装


  4. 默认密码是 ZEND。这个密码是大小写敏感的。本文一直沿用这个默认密码。


    图 7. 输入密码
    输入密码

  5. 一旦看到如图 8 所示的屏幕,就知道产品正在安装。


    图 8. 安装完成
    安装完成

稍等片刻,当安装结束时,您将回到 i5/OS 主菜单。这表明安装成功。

之后,您可以尝试在 Web 浏览器中通过地址 http://<ipaddress>:8000/ZendCore 访问 Zend Core 用户界面。其中,<ipaddress> 是指 iSeries 服务器的 IP 地址。使用安装产品时输入的密码 ZEND 进行登录。


图 9. 登录屏幕
登录屏幕

如果登录成功,则进入 Zend Core 用户界面。通过这个界面,可以管理、监控和测试服务器。

在 Control Center 菜单下,有三个主选项卡:

  • 从 System Overview 选项卡中,可以看到关于 PHP 版本的信息和 Web 服务器的详细信息,另外还有关于磁盘空间的信息。在这个选项卡中,可以选择重新启动服务器。
  • PHPinfo 选项卡显示来自 php.ini 文件的信息。
  • Benchmark 选项卡提供对特定 URL 进行基准测试的功能。您可以获取诸如测试的持续时间、每秒钟的总请求数、失败的请求之类的详细信息。

通过 Configuration 菜单可以配置 php.ini 文件、扩展和其他 Zend 产品中的值。最后,Documentation 菜单包含了参考信息,另外还有一些搜索功能,用于查找参考文档。


图 10. Zend Core 用户界面
Zend Core 用户界面

如果不能看到登录页面,那么请检查以下各项:

  • 确保 iSeries 上的 ZendCore HTTP Server 已经启动。
  • 检查 iSeries 服务器上的 8000 端口已经被占用。这可以通过运行 NETSTAT 命令并选择 Option 3 来做到。如果 8000 已经被占用,那么可以打开 /usr/local/Zend/apache2/conf/httpd.conf 文件并将下面这行:

Listen 8000

修改成

Listen <alternate_available_port>

然后,需要打开 IBM Web Administration 界面,在关于 ZendCore HTTP Server 的详细信息的屏幕上,进入 Reverse Proxy 选项卡。用 <alternate_available_port> 的值修改所有 Core 配置条目。单击 Apply,然后单击 OK


图 11. HTTP Web 管理
Web 管理

然后,重新启动 Zend Core 服务器,并使用以下 URL 再次尝试访问 Zend Core 用户界面:http://<ipaddress>: <alternate_available_port>/ZendCore。

本文使用默认端口 8000。

现在来测试一个简单的 PHP 脚本。将下列代码保存在 /usr/local/Zend/apache2/htdocs 下一个名为 hello.php 的文件中:

<html><head><title>PHP Test</title> </head><body> <?php echo '<p>Hello World: Trying out PHP on i5/OS</p>'; ?> </body></html>


 

您可以在浏览器中通过以下 URL 来测试这个脚本: http://<ipaddress>:<alternate_available_port>/hello.php。如果看到如图 12 所示的输出,则说明 Zend Core 产品正在为您的 PHP 页面服务。


图 12. 结果
结果

一个简单的连接到 DB2 UDB for iSeries 的 PHP 脚本

如果您能看到如图 12 所示的结果,那么可以继续编写一个访问 DB2 UDB for iSeries 数据的 PHP 脚本。在开始之前,先创建下面这个表,并插入一些数据到这个表中。

create table QGPL.cust (custname char(15), custage integer, custcity char(20)) insert into QGPL.cust(custname, custage, custcity) values ('Suita' , 27, 'Kuala Lumpur')


 

部署和测试脚本

<table width="75%" border="1" cellspacing="1" cellpadding="1" bgcolor="#eeeeee"> <tr> <td><b>Customer Name</b></td> <td><b>Customer Age</b></td> <td><b>Customer City</b></td> </tr><?php //Establish connection to database$host = "<RDB_name>"; $conn = db2_connect ($host,"<userid>", "<password>"); $query = "Select * from QGPL.customer";//Execute query $queryexe = db2_exec($conn, $query) ;//Fetch results print ("<b>The result of the query is:</b>\n"); while(db2_fetch_row($queryexe)) { $custname = db2_result($queryexe, 'CUSTNAME'); $custage = db2_result($queryexe, 'CUSTAGE'); $custcity = db2_result($queryexe, 'CUSTCITY'); //Put the results in an HTML table.print("<tr bgcolor=#ffffff>\n"); print("<td>$custname</td>\n"); print("<td>$custage</td>\n"); print("<td>$custcity</td>\n");print("</tr>\n");}?>


 

可以通过发出 WRKRDBDIRE 命令来查看 <RDB_Name>,也可以在 iSeries Navigator 中查看 RDB 名称。展开您正在使用的 iSeries 机器,查看 Databases 区域。<userid> 和 <password> 是有权限执行 QGPL.cust 表上的选择操作的有效用户 ID 和密码。

将以上代码保存在 /usr/local/Zend/apache2/htdocs 目录下一个名为 DB.php 的文件中,然后在浏览器中通过以下 URL 来访问它: http://<ipaddress>:<alternate_available_port>/DB.php。

您应该可以看到如下图所示的输出:


图 13. 结果
结果

结束语

本文的目的是介绍如何部署使用 Zend Core for i5/OS 产品访问 DB2 UDB for iSeries 数据的 PHP 脚本。本文提供的简单步骤应该可以帮助您深入编写更复杂的操纵 DB2 UDB for iSeries 数据的 PHP 脚本。通过 ibm_db2 函数,可以执行选择、预先选择、插入、更新和删除,可以调用存储过程,还可以检索数据库的元数据信息。要获得关于使用所有 ibm_db2 函数的更详细的信息和示例代码,请参考本文的 参考资料 部分。


 




回页首



 

参考资料

学习


获得产品和技术


讨论


 




回页首



 

关于作者

Suita Gupta 是马来西亚吉隆坡 IBM Innovation Centers for Business Partners 的技术顾问。在参加 IIC 小组之前,Suita 曾在 iSeries Application Innovation Program 小组工作,该小组负责为对他们的 iSeries 应用程序感兴趣的 ISV 提供技术支持。

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:Suita Gu… 录入时间:2006-10-9
信息来源:IBM 投稿信箱:itqoo@126.com
教程录入:admin    责任编辑:admin 
  • 上一个教程:

  • 下一个教程: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持