PHP代码的加密,您开始想到的一定是Zend Encode,Zend官方出品当然值得信赖,但它是商业化产品,是收费的,网上找到的破解版也不尽人意。通过搜索,我找到了一个免费开源的加密工具 bcompiler,感谢作者开发出这么好的工具。
bcompiler全名是 PHP bytecode Compiler,即字节码编译。源码目前托管在PECL,网址:http://pecl.php.net/package/bcompiler
bcompiler是以PHP扩展的方式实现,用PHP函数的方式调用,十分方便PHP Coder们自行加密自己的代码。下面具体说一下安装和使用的方法。
关于安装
Linux安装bcompiler好像挺麻烦,要PECL库,有兴趣的同学可以搜索一下
今天拿到的是Windows的bcompiler,支持PHP 5.3,本人测试可以使用
安装办法
把php_bcompiler.dll复制到PHP扩展目录,改一下php.ini,加入
[PHP_BCOMPILER]
extension=php_bcompiler.dll
使用方法
<?php
$file_in[]="index.php";
$file_out[] = "index.compiler.php";//加密编译后的文件名
foreach ($file_out as $k=>$value) {
$fp = fopen( "$value" , "w");
bcompiler_write_header($fp);
bcompiler_write_file($fp, $file_in[$k]);//读取源文件代码,生成编译文件
bcompiler_write_footer($fp);
fclose($fp);
}
echo '<p>OK!</p>';
foreach ($file_out as $value) {
echo '<p><a href="'.$value.'">'.$value.'</a></p>';
}
?>
运行这段php代码就完成了加密编译了
php_bcompiler.dll下载地址
http://downloads.php.net/pierre/
搜索bcompiler即可,我的桌面环境是PHP 5.3 /CGI,所以下载的是php_bcompiler-5.3-nts-20111014.zip
单独加密某个文件可以使用Shen Cheng-Da已经写好的脚本:http://bencoder.urdada.net/
延伸阅读:
http://blog.urdada.net/2006/07/25/15/
使用 bcompiler 來編譯(加密)您的 PHP 原始碼
http://blog.lyhdev.com/2011/08/windows-bcompiler-php.html
在 Windows 下使用 bcompiler 加密 PHP 程式源碼