php加密:
最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版)。

既然收费的用不起,我们就用开源的。我找到了php_screw这个开源软件,目前最新版本是1.5
先介绍一下安装前的准备:
1、系统:Centos5.5 环境:php5.2.17
2、确保电脑环境里有php-develp包,这个一般大家都有的,
开始安装:
1、进入官网下载软件http://sourceforge.net/projects/php-screw/
好像是每一上php版本有每一个对应的php_screw版本,不要搞错,php5*对应php_screw-1.5
2、解压缩
软件包放哪都行,你喜欢就好
进入到放软件包的目录
#tar -zxvf php_screw_1.5.tar.gz
解压缩之生你会看到一个README.en文件如果不清楚电脑需要什么支持可以看一下
3、修改文件
#vim php_screw.h
做一下这个文件的修改,当然不做也行,这个文件主要是在你加密的文件开头加上PM9CREW,这个
信息别人一看就知道是用php_screw加密的,所以你可以修改其中的显示信息,这么做就是为了隐藏加密算法,可以让别人不 知道你是用的什么算法加的密。
#vim my_screw.h
修改自己的加密密码
shortpm9screw_mycryptkey[] = {

  11152,368, 192, 1281, 62

};

改为

shortpm9screw_mycryptkey[] = {

  12852,968, 192, 1281, 62, 369

};  全凭个人意愿
4、开始编译
#/usr/local/php/bin/phpize
Configuringfor:

PHP ApiVersion:         20041225

Zend Module ApiNo:      20050922

Zend ExtensionApi No:   220051025.
然后在当下文件夹里会出现configure
#./configure –with-php-config=/usr/local/php/bin/php-config
#make
make完后在你的源码目录的modules文件夹下会有php_screw.so文件。将文件copy到phpinfo()里面extension_dir所指的目录下,然后在php.ini文件里面添加
#cp php_screw.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613
#vim /etc/php.ini
添加:extension=php_screw.so
重启:
#/usr/local/php/sbin/php-fpm restart
#pkill nginx
#/usr/local/nginx/sbin/nginx
这个时候查看phpinfo()里应该会有php_screw的信息
5、进入到tools文件夹

#cp /usr/local/php_screw-1.5/tools

#make

生成加密工具:screw

上面的php_screw.so其实是解析加密后的php源码

编译screw过程中会用到my_screw.h文件,所以请保证编译php_screw.so和screw时使用的my_screw.h文件一致。

make完成后会在tools目录下产生screw可执行文件,你可以把它放到任何你喜欢的path目录,如/usr/local/bin,/usr/bin等,确保你键入screw命令时可以找到

# cp screw /usr/local/bin,/usr/bin

6、切换到你的php源码目录,比如你要加密phpinfo.php文件则执行

#cd/var/www/html/

#screw info.php

则产生phpinfo.php这个加密文件,原文件copy为phpinfo.php.screw.打开phoinfo.php文件可以看到一堆乱码。通过web访问phpinfo.php以及phpinfo.php.screw则显示同样内容

9. php_screw_1.5有一个缺点就是screw 加密工具一次只能执行一个文件,如果你切换到你的php源码目录执行

#screw *

不会有任何文件被加密,如果要加密上百个文件,那正是灾难

解决办法如下 ,执行

#find /var/www/html -name “*.php” -print|xargs -n1 screw //加密所有的.php文件
#find /var/www/html -name “*.screw” -print/xargs -n1 rm //删除所有的.php源文件的备份文件

可以对/var/www/html目录下的所有后缀为php的文件加密,包括子目录下的。

这样就基本做到的对php源码的加密。