Zend Server - PHP Server for IBM i
简析
PHP
语言简介
PHP
是英文超文本预处理语言
Hypertext Preprocessor
的缩写。
PHP
是一种
HTML
内嵌式的功能强大的在服务器端执行的脚本语言,语言的风格有类似于
C
语言。
PHP
由于它在处理数据库信息和创建动态网页方面的出色能力而被越来越多的广泛运用。这里服务器端是指
HTML
中直接内嵌的
PHP
语句是被
Web
服务器处理的,脚本语言意味着
PHP
不需要被编译。由于
PHP
语句处理的结果是标准的
HTML
,所以
PHP
生成的网页可以被快速的显示并且兼容大多数的
Web
浏览器和系统平台。
PHP
具有开源,免费,易使用,跨平台性强,效率高等优点。
PHP
代码可以轻松地访问数据库文件并生成动态更新后的网页,有点类似
Java Server Pages
(
JSP
)或通用网关接口(
CGI
)程序。但是
PHP
不需要被编译,是将程序直接嵌入到
HTML
文档中去执行,而
JSP
需要被先被编译成
Java Servlet
后执行;
CGI
则需要完全生成整个
HTML
文件,开发周期大,成本高,因此
PHP
在效率和开发成本方面有它的优势。
PHP
另一个有价值的地方在于网络上提供了大量有用的开源的
PHP
应用程序和代码实例,这意味着我们可以通过较少的投资、快速的部署和运行一个新的基于
PHP Web
应用。
什么是
Zend Server for i
Zend Server
被描述为运行和管理基于高可靠性,高性能和安全性的
PHP
应用的“一个完整的、企业应用级的网络服务器”。
Zend Server for i
是
Zend
公司和
IBM
共同合作推出的一套为
IBM i
用户量身定制的稳定的,易于安装的
PHP
开发及运行工具。它包含了一个经过测试和认证的
PHP
版本以及一套用于搭建和优化环境的工具。
Zend Server for i
使得用户可以轻松的在
IBM i
平台上使用
PHP
和
DB2
实现基于动态网页的商业应用。
下图是
Zend Server for i
在
IBM i
平台上的解决方案架构图
通过这个架构图我们可以看到
IBM i HTTP
服务器运行在
ILE
一侧而
Zend Server for i
是运行在
PASE
环境中的。他们之间的通信是通过
IBM i HTTP
服务器上面配置的
PASE FastCGI
模块来实现的。
PASE FastCGI
模块通过创建连接到
PASE
的套接字使得
运行在
PASE
中的
PHP
程序能够像本地的
CGI
作业一样被
HTTP
服务器访问,通过这种方式,所有对
PHP
页面的
HTTP
请求都能够正确的从
HTTP
服务器一端转交到
PASE
中
PHP
引擎进行处理并将结果返回给
HTTP
服务器。
如何安装
Zend Server for i
1 IBM i
系统软件和
Group PTF
需求
(
1
)
IBM i 5.4
检查下面
License program
是否安装
:
5722SS1
30
Qshell
5722SS1
33
Portable App Solutions Environment
5722DG1
*BASE
IBM HTTP Server for i
5733SC1
*BASE
IBM Portable Utilities for i
5733SC1
1
OpenSSH, OpenSST, Zlib
检查下面
HTTP Group
PTF
是否安装
:
SF99114 -
Level
30
(
2
)
IBM i 6.1
检查下面
License program
是否安装
:
5761SS1
30
Qshell
5761SS1
33
Portable App Solutions Environment
5761DG1
*BASE
IBM HTTP Server for i
5733SC1
*BASE
IBM Portable Utilities for i
5733SC1
1
OpenSSH, OpenSST, Zlib
检查下面
HTTP Group
PTF
是否安装
:
SF9911
5
-
Level
23
(
3
)
IBM i 7.1
检查下面
License program
是否安装
:
5770SS1
30
Qshell
5770SS1
33
Portable App Solutions Environment
5770DG1
*BASE
IBM HTTP Server for i
5733SC1
*BASE
IBM Portable Utilities for i
5733SC1
1
OpenSSH, OpenSSL, zlib
检查下面
HTTP Group
PTF
是否安装
:
SF99
368
-
Level
11
2
下载安装文件并传送到目标
IBM i
机器上
用户可以通过
http://www.zend.com/en/products/server/downloads
选择
IBM i
类别去下载
Zend Server for i
的免费试用版。这里我们以选择
Product Zend Server for IBM i(PHP 5.3), Version 5.6.0 New installation
为例来给大家介绍。
注意:在你可以下载使用版之前,你必须注册一个
Zend
用户账户。
使用你的
Zend
账号登陆并下载压缩文件
ZendServer-5.6.0-PHP5.3-IBMI-i.zip
到你的个人
PC
上。解压这个压缩文件得到一个
save file (
比如
C:\zsvrsavf.savf)
文件并把
ftp
到你的
IBM i
机器上,具体步骤如下:
(1)
使用具有
*SECOFR
身份的用户登录到你要安装的IBM i 系统并在绿屏界面输入下面的命令在QGPL library下面创建名字为
ZSVRSAVF
的save file
CRTSAVF FILE(QGPL/ZSVRSAVF) TEXT(
'
Zend Server product save file')
(2)
把解压后的
save file
文件通过二进制传送模式
FTP
到
IBM i server
上。具体步骤如下:
a)
打开一个
windows
命令行并将切换到包含
save file
的路径(比如
C:\
)然后输入命令
ftp [IBM i server ip address or hostname]
(比如:
ftp 10.1.12.108
)
b)
使用你的
IBM i
用户名和密码登录。
c)
登录成功后在
ftp
命令行输入
bin
命令来指定传输模式为二进制。
d)
在
ftp
命令行下面输入:
put zsvrsavf.savf
来传送
save file
。
e)
当传送接受后,输入
quit
命令,退出
ftp
。
3
安装
Zend Server for i
在绿屏界面下,你可以通过
silent
模式安装,也可以通过交互模式安装,命令分别如下:
(1)
Silent
模式安装
:
SBMJOB CMD(RSTLICPGM LICPGM(2ZSVRPI) DEV(*SAVF) SAVF(QGPL/ZSVRSAVF))
(2)交互式安装
:
RSTLICPGM LICPGM(2ZSVRPI) DEV(*SAVF) SAVF(QGPL/ZSVRSAVF)
注意: 如果你之前同一台在IBM i系统安装过Zend server beta版本
,建议你安装之前通过下面的命令先删除老程序:
DLTLICPGM LICPGM(2ZSVRPI)
这里我们以交互式安装为例,当你输入交互性安装的命令后会出现下面的安装界面:
按回车接受,然后进入许可协议页面,阅读后按回车建程序开始安装。安装中会出现询问是否安装可选的
MySQL
服务器,这里我们选择按
F3
跳过
MySQL
的安装。
安装过程大概会持续
10
几分钟到半个小时之间,当出现下面的界面时,表示
Zend Server for i
已经安装成功,按回车键可以自动帮我们启动
Zend Server
,如果不想启动可以按
F3
键。这里我们选择按回车键让系统自动启动
Zend Server
。
可以在绿屏下面运行
GO LICPGM
选择选项
10
查看
license program
状态:
我们可以通过绿屏命令
WRKACTJOB SBS(QHTTPSVR)
来查看被系统自动启动的
ZENDSVR
的
HTTP
服务器,如下图所示:
通过这种安装方式
Zend Server for i
程序本身被安装到了
/usr/local/zendsvr
目录中,默认的Zend Server HTTP服务器ZENDSVR被安装到了
/www/zendsvr
目录中。
验证
Zend Server for i
安装
安装完成后我们可以通过访问默认安装的
PHP
样例应用来验证
Zend Server for i
是否安装成功并能正确处理
PHP
请求。默认的样例应用安装在
/www/zendsvr/htdocs/Samples/
目录中,这里我们以
Hello_World
为例,
Hello_World.php
源程序如下:
<?php
echo "Hello, World!";
?>
这是一个非常简单的往浏览器端输出
"Hello, World!"
字符串的
PHP
应用例子。打开浏览器并在地址栏输入:
http://lp20ut24.rchland.ibm.com:10088/Samples/Hello_World/Hello_World.p…
回车后如果可以正确看到
"Hello, World!"
字符串显示在你的浏览器页面中,表明你的
Zend Server
已经安装成功了。
上面只是一个非常简单的
PHP
程序,在默认安装的样例应用中还有如何通过
PHP
调用
IBM i
上面的
RPG
程序,
如何
通过
PHP
访问
IBM i DB2
例子和相应的源码,我们可以方便通过学习这些例子来快速开发和部署属于我们自己的强大而丰富的
PHP
动态网站!
参考资料
(1) Zend Server for i
官方网址:
http://www.zend.com/en/products/server/zend-server-ibm-i
(2) Zend Server for i
官方论坛:
http://forums.zend.com/viewforum.php?f=67
(3)
www.php.net
:了解更多关于
PHP
的信息,并获得所有
ibm_db2 PHP
函数的详细信息
(4)
通过
IBM i
信息中心了解更多关于
IBM HTTP server for i
的相关知识:
http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic…
作者:田刚