日期:2013-10-12  浏览次数:20529 次

如何编译PHP源代码(介绍Zend Encode的安装方法)
作者:大自然 信箱:zhanmr@telekbird.com.cn 主页:http://zhanzhen.wayall.com

一直有朋友在问PHP如何保护源代码,就像ASP里的SCRENC一样(虽然SCRENC早就有东东可以破解了)。谢天谢地,一直致力于PHP发展的Zend公司为我们带来了最新的工具Zend Encoder就可以实现编译PHP源代码的功能。
有关Zend Encoder的功能简介请看:http://www.chinaasp.com/sqlbbs/showAnnounce.asp?id=588883
由于Zend Encoder正式版需要2400美元。所以我们这些穷鬼只能用限制版的了,好像功能俱全,但只有一个月好用
现在我将带大家一起来装一把,看看是不是真的那么爽。。:)
安装步骤极其复杂。。本人将一步一步的带你进入,请跟紧我哦。。:)
本人系统环境:WINNT4+APACHE1.3.17+PHP4.0.4pl1(APACHE模式)

一、先去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这个按钮了吧??开心吧?错,其实这只是开始。:(。看到有三步,先不要马上下载,因为没有Zend公司的许可协议,你下载后也没办法用。首先点击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这个链接,然后系统会把你这台机器的许可协议发送到你的信箱里,不用急。可能要过24小时后才能收到。

四、等啊等。。终于信箱里看到标题为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程序。。

五、终于都下载完了。剩下是配置过程了。解压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 源文件名 编译后文件名(还有许多参数可自己查看帮助)

六、以为这样就完了吗??NO,现在放在浏览器里运行编译后的文件只会出来一阵乱码。你还需要从http://www.zend.com/store/free_download.php?pid=13这里下载Zend Optimizer? v. 1.0.0,请看准了版本下载,我是下载了FOR WIN的,然后将下载后的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"

八、重启你的WEB SERVER,然后用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) 这一行。

OK,你成功了。。想看我的输出效果吗?
http://zhanzhen.wayall.com/zendencode.htm

本还想测试一下Zend Cache Test Drive的,居然发现没有FOR WIN的。。当场吐血。。:(
希望有哪位高人把Zend Cache Test Drive的安装说明介绍一下吧。

如果安装过程中有问题就到http://zhanzhen.wayall.com里指出,我会尽量回答的:)