下载地址:
http://sourceforge.net/projects/php-screw/
安装:
需要依赖phpize, 首先需要安装php-devel (yum -y install php-devel)
注意不同的php版本要使用对应的phpize否则无法使用,如果当前php环境是最新的php7 使用如下yum源进行安装
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
yum -y install php70w*
参考:http://blog.csdn.net/zhezhebie/article/details/73325663
编译时出现如下错误:
/root/php_screw-1.5/php_screw.c: In function ‘zm_startup_php_screw’:
/root/php_screw-1.5/php_screw.c:124: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’
/root/php_screw-1.5/php_screw.c: In function ‘zm_shutdown_php_screw’:
/root/php_screw-1.5/php_screw.c:133: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’
make: *** [php_screw.lo] Error 1
需要修改代码
这些信息时:需要执行一下命令
vi php_screw.c
将 124行,133行 的
CG(extended_info) = 1;
修改为:
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;
开始安装
phpize
./configure
make && make install
cd tool
make
cp screw /usr/bin/
在php 5.3下测试未发现异常,但是在php7下测试,发现被加密文件含有类定义时,导致失败,提示内存不够用
php 文件加密:
http://www.cnblogs.com/chung2017/p/6427083.html
修订过的可以 支持离线解密
https://github.com/amor-tsai/php\_screw
支持php7的加密库 支持AES DES base64