咨询热线:4006-75-4006

售前:9:00-23:30    备案:9:00-18:00    技术:7*24h

解决Zend加密的PHP页面出现Incompatible file format的问题

2016-12-13 02:53:15 6771次

浏览器访问,错误具体如下:

Fatal error: Incompatible file format: The encoded file has format major ID 7, whereas the Loader expects 4 in /data/home/byu2521400001/htdocs/core/kernel.php on line 0

浏览器访问截图如下:

thumb-Fid_235-235_1193535241602887_79798487a7da958.jpg


汇总该问题相关信息如下:

  1. 从PHP5.3开始如果要支持zendguard加密的PHP代码,必须安装zend guard loader,老的zend optimizer将不被支持。

  2. PHP5.2之前的Zend加密程序用Zend Optimizer解析。

  3. PHP5.3开始的Zend加密程序用Zend Guard Loader解析。

综上,造成该问题的原因是Zend Guard 5.1更新了加密PHP文件的算法来迎合PHP5.3新版本支持,用Zend Guard老版本加密过的PHP文件在 PHP5.3 + Zend Guard Loader的环境下都无法正常浏览,会报出文章开头的错误。

解决方法:

  • 可以把PHP程序源文件在Zend Guard 5.1下重新加密,然后才能浏览。本处因为拿到的就是加密商业代码,故放弃这一招。

  • 也可以把程序放到PHP5.2 + Zend Optimizer的环境下运行即可。本处选择它来运行这套加密程序。


手头有一套php程序是zend加密的,将它放到主机空间上运行的时候遭遇如上问题,我把空间搬迁到了低版本PHP的环境下,搞定。摘录前后主机PHP环境如下:

搬迁前:PHP5.3.17 + Zend Engine v2.3.0 + Zend Guard Loader v3.3

搬迁后:PHP5.2.17 + Zend Engine v2.2.0 + Zend Optimizer v3.3.9


首页
最新活动
个人中心