首页 > 作文

用Zend Encode编写开发PHP程序

更新时间:2023-04-06 07:05:40 阅读: 评论:0

使用php的人都知道,zend encode是一个脚本编程工具,用它写的程序,必须以源码的形式放置在web服务器上,所以我们无法保护自己的源代码。大家都知道任何一个脚本程序的执行效率同具有相同功能的编译好的二进制代码相比较,它的执行效率都是比较低的。那么要是有一个工具能够帮我们把用php写的程序编译成二进制代码就好了,这样不但执行效率提高了,运行速度也加快了。真要是有这么一个工具,那就是一举两得了。

现在这不是梦想了,zend encode就是为此而开发的,它可以直接将脚本编译成二进制码。有了zend encode,你就可以将自己写好的php程序,编译后分发给很多用户,而用不着公开自己的源程序代码。编译好的二进制代码可以被zend optimizer透明读取,也就是说,客户只要在他的服务器上安装zend optimizer就可以执行由zend encode编译好的php程序。编译程序中包含有zend optimizer的部分代码,所以编译过程中对程序代码进一步作了优化处理,这即意味着脚本的执行效率提高了。

从一定意义上讲,zend encode是一个“php编译器”。但是,它又不是一个真正意义上的编译器,因为真正编译完成的程序可以脱离原来的编译环境运行,而zend encode编译过的程序,需要有zend optimizer的支持。就像编译好的java二进制代码,需要jvm的支持。所以,zend optimizer可以看作是php编译好代码的虚拟机。不管怎么说,它们要又是一年开学时通过相互配合使用。

目前zend encode支持的操作系统有:solaris、linux、freebsd及windows。zend encode可以直接运行,电脑系统中不一定非要安装php。

zend encode的安装

先去下载一个软件包吧!zend encode不是自由软件,使用它要付费,而且价格相当高。幸好zend.com提供了一个可供试用的软件包,用户可以免费试用30天。这个软件包可以直接从http://www.zend.com上获得。所以,首先要到www.zend.com上下载zend encode、zend optimizer软件包。其次,要下载一个授权文件licen。由于zend encode是一个授权使用的产品,所以需要用户从zend.com上申请一个licen。申请步骤如下:

要申请一个试用的licen,需要向zend.com提供你正在使用的计算机的id,也即在申请页中填写host id(实际上就是你计算机上的网卡的mac地址)。查看计算机id的方法如下:从zend.com下载一个lmutil.z的程序,解压后得到程序lmutil,运行它,它会根据系统的硬件特征产生一个序列串。将这个序列号填入到申请licen页的host id中,zend.com会在48小时内为用户生成一个licen,下载此licen文件,文件名为zendencode.dat,它只能在这台电脑上使用。

1.将zend encode软件包也解压缩到/usr/local/zend目录下。解压缩完成后,目录下多了一个zendenc的文件,它就是那个“编译器”啦。

2.将那个licen文件复制到/usr/local/zend目录下安装完成。

zend optimizer的安装

完成了zend encode的安装,才完成了一半任务,要使用编译后的php二进制代码,还要安装一个解释器——zend optimizer,有了它的支持,编译后的php二进制文件才能被正确地执行。

与zend encode不同,zend optimizer是一个免费软件,它的主要功能是加速php脚本文件的运行。据zend.com称,有了zend optimizer的优化,程序的执行效率可以提高600%,经过笔者的简单测试,执行效率的确是提高了不少。

安装zend optimizer步骤如下:

1.解压缩zend optimizer软件包,将zendoptimizer.so文件复制到/usr/local/zend/lib目录中。

2.打开/usr/local/lib/php.ini文件,在文件中加入以下两行:

zend_optimizer.optimization_level=15

zend_extension=”/usr/local/zend/lib/ zendoptimizer.so”

3.重启动apache 服务器,使以上更新生效。

zend encode的使用

现在准备工作全部完成了,我们写一个简单的php脚本,使用zend encode编译一下,看看效果如何。先写一个最简单的脚本,看看编译后的代码能不能执行:

#vi test.php

<? phpinfo(吹拂的拂); ?>

编译它:

#[root@mail zend]# ./zendenc test.php testencode.php

zend encoder unlimited (test drive) v1.1.琴女dj0 (c) zend technologies, 1999-2000

licend to: xqkred.

compiling test.php…

done encoding test.php.

optimizing… done.次北固山下原文

saving… done.

好,成功编译。不过,编译好的程序大小较之以前要大很多。

将testencode.php复制到web服务器的发布目录下,在浏览器上键入http://localhost/testencode.php,哇!编火上浇油的意思译后的代码可以成功运行了!由于我们使用是试用版的zend encode,所以,在页面的最上面会出现一个图片,说明这是一个由zend encode试用软件包所产生的二进制文件。正式版的软件中,图片将不会再现。

下面再看看它的执行效率吧!首先写一个小的计算程序粗略估计一下:

[compute.php]

<?

$t=time();

for( $i=0;$i<1000000;$i++) {

if(($i%20)!=0) {echo $i; echo “,”;}

el { echo “<br>”;}

}

$t1=time();

echo “<br>”; echo “it ud:”; echo $t1-$t; echo ” conds”;

?>

这个程序在执行时,取系统的时间,完成后再取系统时间,两个值的差即为整个程序运行所需时间,先在没有编译的情况下执行一遍,然后用zend encode编译后再执行一遍。比较结果:没有编译的情况下,运行所需时间平均为19秒,编译后的代码平均执行时间为 9秒,看来执行效率是提高了不少。(出处:风闪网路学院)

本文发布于:2023-04-06 07:05:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/032e34e0b0abb284d878c72d12da8950.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:用Zend Encode编写开发PHP程序.doc

本文 PDF 下载地址:用Zend Encode编写开发PHP程序.pdf

标签:程序   软件包   代码   文件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图