使用php_screw为php程序文件加密

先下载php_screw   http://sourceforge.net/projects/php-screw/files/

 解压,更改my_screw.h,里面的几个数字就是SEED,相当于密码,可以随意更改、增加

 

2、编译so文件:

$ phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
$ make install
$ ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
$ vim /usr/local/php/lib/php.ini 

在php.ini中增加:extension = php_screw.so


4、编译用来加密文件的可执行文件:

$ cd tools
$ make
$ ln ./screw /usr/bin/
tools目录下新生成的screw就是了,放到$PATH中就可以调用了,比如要加密一个文件:

$ screw a.php
Success Crypting(a.php)
加密后的a.php执行正常,同时screw还会把原来没有加密的文件改名为.screw文件作为备份。

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

 

 

 

编译过程中碰见的几个问题如下

1。 /root/php_screw-1.5/php_screw.c: In function ‘pm9screw_compile_file’:

解决方法:

需要修改php_screw.c

把第78,84,93行的org_compile_file(file_handle, type);
修改为:
org_compile_file(file_handle, type TSRMLS_CC);

然后再make就成功了。

2. /opt/soft/php_screw-1.5/php_screw.c: In function ‘zm_startup_php_screw’:/opt/soft/php_screw-1.5/php_screw.c:124: 错误:‘zend_compiler_globals’ 没有名为 ‘extended_info’ 的成员/opt/soft/php_screw-1.5/php_screw.c: In function ‘zm_shutdown_php_screw’:/opt/soft/php_screw-1.5/php_screw.c:133: 错误:‘zend_compiler_globals’ 没有名为 ‘extended_info’ 的成员make: *** [php_screw.lo] 错误 1

解决方法:
需要修改php_screw.c

把CG(extended_info) = 1;
修改为:
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

 

感谢http://mail.lyzwpc.com.cn/blog/?p=282#comment-2502 提供资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值