综述:我们将要介绍Zend公司的最新工具Zend Encoder,利用这个工具,我们就可以实现编译PHP,从而达到保护PHP源代码的目的。
如何安装Zend Encode?
一、先去www.zend.com去注册一个用户https://www.zend.com/add_user.php
二、在你的注册信箱里得到登录名和密码后,从https://www.zend.com/login.php登录,如果成功则会自动跳转回Zend的首页,这时点击首页右上边的导航栏里的Store,然后再点击Enterprise Products,再点击Zend Encoder Unlimited,然后再点击右边的Price: $2400下面有一个Test drive available的链接,进去后再点击右侧下方的Test drive available按钮,这时候我们会看到Zend的相关产品,选择Zend Encoder Unlimited Test Drive右边的GetIt(播放按钮)
三、看到Download后,点击Step 2:Request Product License,这时候Zend需要我们提供一个host id号,这个是标识你的电脑的唯一标识符,你可以点击右边的How do I find my host ID链接,去下载一个查看标识符的软件,如果你是WINDOWS用户,可输入以下命令得到你的网卡内部号:
ipconfig /all
然后会得到有这么一串字符:Physical Address. . . . . . : 00-80-C8-DB-FC-39
这样把-号去掉,得到你的HOSTID号为0080C8DBFC39,然后把这段字符拷贝到Enter host ID:的输入框里,点击Request这个链接,然后系统会把你这台机器的许可协议发送到你的信箱里。
四、等一段时间后,在你的信箱里可以看到标题为Zend licenses created的一封信,去 http://www.zend.com/store/pickup.php这个地方取许可协议,这个时候你的机器上已经存在着Zend那个网站的COOKIE。所以进去后选Step 3: Download Product License ,在边上会有黑体写的Download License,点击下载名叫zend_encoder.dat的许可协议,然后再选择Step 1: Download the Zend Encoder Unlimited Test Drive v. 1.1.0,选择你需要的版本,我是用Windows NT/2K (for PHP 4.0.3 / 4.0.4)的,又是一封长长的Zend Encoder? Test Drive License Agreement(许可协议书),按下"I ACCEPT"按钮后开始下载Zend Encoder Unlimited程序。
如何配置Zend Encode?
一、解压ZendEncoderUnlimited-TestDrive-1[1].1.0-PHP_4.0.3-Windows-i386.zip到c:\program files\Zend Encoder Unlimited目录,然后把zend_encoder.dat这个文件拷到c:\program files\Zend目录下,运行c:\program files\Zend Encoder Unlimited目录下的install_license.reg注册表,成功后你就可以用zendenc.exe这个程序来编译php源文件了,格式如下:zendenc 源文件名 编译后文件名(还有许多参数可自己查看帮助)
二、现在需要从http://www.zend.com/store/free_download.php?pid=13这里下载Zend Optimizer? v. 1.0.0,然后将下载后的ZendOptimizer-1[1].0.0-PHP_4.0.4-Windows-i386.zip解压到C:\Program Files\Zend Optimizer目录下。
三、修改php.ini文件,增加两行
zend_optimizer.optimization_level=15
zend_extension_ts="c:\program files\zend optimizer\zendoptimizer.dll"
四、重启你的WEBSERVER,然后用PHPINFO输出看一下,会有这么一段:
This program makes use of the Zend scripting language engine:
Zend Engine v1.0.4, Copyright (c) 1998-2000 Zend Technologies
with Zend Optimizer v1.0.0, Copyright (c) 1998-2000, by Zend Technologies
记住,有最后一行with Zend Optimizer v1.0.0, Copyright (c) 1998-2000, by Zend Technologies的才表示你的Zend Optimizer安装成功了
如何使用Zend Encoder?
写一个测试的phpinfo.php文件:
<?
phpinfo();
?>
然后用zendenc phpinfo.php phpinfoencode.php
得到一个编译过的phpinfoencode.php文件,打开看里面的代码已经变成这样了:
Zend 2000112001 1 139 265 x?? 2? ?~佒?ス箷z?)E惺?元 5韺爕 穯圽R怮悪棖 )?a虲P纈爂li`if
錽 ? A毱LF? n ?l&r 閅 殮? 4?21a?6舶446 ┐児 %5B?唴? 蔯?
在浏览器里执行这个phpinfoencode.php文件,发现头部多了Generated by a TRIAL VERSION of the Zend Encoder(TM) 这一行。