PHP加密 - 首页 - 技术文章

为什么加密后的文件无法使用?

发布时间:2016-01-28 09:19:49

首先我们要学会排除出错的原因,现就常见问题与大家说明交流,供参考:

1、二进制问题?

因为我们系统加密的数据为二进制数据包,所以加密后文件在使用LINUX服务器的时候,FTP文件必须二进制上传,否则会造成文件损坏无法使用。

2、文件被修改?

问题同1,加密后的PHP文件是禁止修改的,哪怕修改一个字节也是会执行或出错,所以加密后的文件禁止修改。

3、缺少封闭标签?

对于良好的习惯,PHP需要以?>来结尾,部份因为缺少此标签而造成程序出错,请保持程序的完整性。

4、对于使用命名空间namespace的问题?

如果你的程序中使用了:namespace 则需要保持在namespace代码前面不能有任何代码,包括注释说明,否则会造成加密文件无法执行。

5、为什么免费的可以使用,加密成VIP却出错无法使用?

VIP版独有的功能就是对原有的PHP源代码进行混淆,打乱,加密处理。因为部份语句或代码兼容可能会出现问题(概率非常低,我们也一直在更新)。遇到这样的情况,可以用如下方式来排查。加密方式:仅混淆 PHP混淆:雷同混淆(随机),然后加密的PHP源代码再进行调试执行。如果再出错,可以显示出具体的出错行以有代码,可以对特定的变量设置成不加密的数据,即可。您也可以将这样的文件发给我们来调试,升级系统的兼容性。

6、对于扩展加密(DLL)、ZEND加密、ionCube9加密?

这一些加密均需要修改php.ini对应的PHP版本来安装PHP扩展,否则无法使用。请仔细核对,同样也要注意二进制上传的问题。

7、加密后显示乱码,程序不执行?

如果使用了扩展加密,一般为未安装扩展造成的。另外有一种情况如ThinkPhp 部份文件以模版方式加载,这样的文件是不能够加密的。

8、一处代码的注意事项。

$where .= " AND o.order_status = '$filter[composite_status]' ";  

这段代码,加密后会变成

$where .= " AND o.order_status = '$filter[$GLOBALS['phpjiami_decrypt']['I1I1IIIIl1l1lll1lIl11I11ll']]' ";

会造成无法运行, 有2个解决方法。

解决方法一:修改代码为:$where .= " AND o.order_status = '".$filter[composite_status]."' ";   

解决方法二: 设置成不加密即可。

9、待续。。

点击这里给我发消息

扫一扫关注我们

• 客服QQ:点击这里给我发消息

• 邮箱:416175#qq.com

辽ICP备14018579号-1

• Copyright 2015 PHP加密(PhpJiaMi.Com)