liunx 下安装 php_screw 扩展 以及报错处理

php_screw 是一个 php 源代码加密扩展。首先来看一下  php_screw 在 liunx 下是如何安装的

首先 去源完整下载 安装包,现在的最新版是 1.5,我们就用 1.5 来做个实例

如果有最新版,可以在 http://sourceforge.net/projects/php-screw/files/php-screw/ 查看,下载地址也可以更新哦

开始下载
wget http://sourceforge.net/projects/php-screw/files/latest/download?source=files

tar -zxvf php_screw-1.5.tar.gz
cd php_screw-1.5

/usr/local/php/bin/phpize (我的 php 安装路径是这个 /usr/local/php,按自己 php 安装路径来执行)
输出:
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525

./configure --with-php-config=/usr/local/php/bin/php-config (我的 php 安装路径是这个 /usr/local/php,按自己 php 安装路径来执行)

make && make install

执行以上命令如果出现 :

/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;

然后在 执行

make && make install
执行正常后 生成 so 文件

在 php.ini 文件中 添加
extension=php_screw.so

然后重启 php 重启 应用服务器。

接下来要得到加密用的 screw

  1. 进入源码的 tools 目录

  2. 执行 make

就生成了 screw
加密文件 执行如下命令:

/ 源码目录 /tools/screw 要加密的 php 文件名
执行后输出:

Success Crypting(要加密的 php 文件名)
这样 加密就成功了
你的没有加密的 php 文件 会保存到当前目录里,名字为 :要加密的 php 文件名.screw

整个目录下的文件加密需要用如下命令: 支持子目录
find . -name "*.php" -exec / 源码目录 /tools/screw {} ;

ok 搞定