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

错误如图:

致命错误:不兼容的文件格式
可能的原因:

1、文件本身加密的问题,很有可能你用的Zend进行加密了,但是因为版本的问题,很有可能是你的主机上的Zend Optimizer版本太低了。
2、文件编码的问题(可能性较小),比如你使用了非ANSI或者UTF-8的文件编码方式。
3、上传的模式问题(当然,你这里使用的是内置程序,应该不是这个问题),上传的话使用binary模式可能会好些。

手头有一套php程序是zend加密的,将它放到主机空间上运行的时候遭遇如下问题:Fatal error: Incompatible file format: The encoded file has format major ID 3, whereas the Loader expects 4 in

百度总结之后,汇总该问题相关信息如下:

  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的环境下,搞定。摘录前后主机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
时间: 2024-11-13 03:27:19

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

解决Zend加密的PHP页面出现Fatal error: Incompatible file format: The encoded file has format major ID 1, whereas the Loader expects 4 in

打开php页面出现如下错误: Fatal error: Incompatible file format: The encoded file has format major ID 1, whereas the Loader expects 4 in 可能是以下原因:1.未安装php解密扩展; 2.未安装相应的php解密扩展. 由于Zend Guard 5.1版本更新了加密算法,5.1版本与5.0版本分别使用了两套相互不兼容的加密算法,对应的解密算法也不再兼容. 因此,用Zend Guard 5

ShopEx访问提示Incompatible file format: The encoded file has format major ID 2, whereas the Loader expects 4

今天测试了下ShopEx程序,但是ShopEx安装时(程序放在public_html目录下的test目录中)遇到了问题,提示错误如下:Fatal error: Incompatible file format: The encoded file has format major ID 2, whereas the Loader expects 4 in /home/cpusername/public_html/test/core/include_v5/defined.php on line 0检

Fatal error: Incompatible file format: The encoded file has format major ID 1...解决方案

申请好域名和空间后,将网站源码上传到空间,解析好域名后.在地址栏输入域名出现下面错误: Fatal error: Incompatible file format: The encoded file has format major ID 1, whereas the Loader expects 4.... 原因:开发网站的php版本和空间上配置的php版本不匹配,比如开发用的php5.2,空间默认为5.3 解决方案:将空间php版本设置为php5.2,成功运行.

解决session过期后登录页面嵌套在框架中的问题

只要在登录页面中加入一下脚本即可: <script language="text/javascript"> //在嵌套时,就刷新上级窗口 if(window.parent!=window){ window.parent.location.reload(true); } </script> 解决session过期后登录页面嵌套在框架中的问题,布布扣,bubuko.com

(转)解决bootstrap 模态框的页面抖动

使用bootstrap时,往往会出现页面抖动的效果,使得用户体验十分不友好. Bootstrap为了让所有的页面(这里指内容溢出和不溢出)显示效果一样,采取的方法如下: 当Modal显示时,设置body -- overflow:hidden;margin-right:15px;(设置15px是因为浏览器的滚动条占位是15px);(通过在modal显示时给body添加.modal-open类实现) 设置modal -- overflow:auto;overflow-y:scroll; 这样设置的效

使用Dezender对zend加密后的php文件进行解密

在开发中需要修改一些php文件,部分是通过zend加密的,记事本打开之后是这样的: 此时需要使用Dezender进行解密,下载链接如下: Dezender.7z 下载后解压到C盘(路径不要带有中文),如解压到其他位置,请打开Dezender\PHP5\PHP5\php.ini文件,到文件末尾 ; Local Variables: ; tab-width: 4 ; End: zend_extension_manager.optimizer_ts="C:\Dezender\Zend for PHP5

【Android】解决RadioButton+FragmentPagerAdapter+Fragment切换页面数据加载的问题

解决RadioButton+FragmentPagerAdapter+Fragment切换页面数据加载的问题

zend 加密文件导致全局变量失效

1,在function里面家人global $_SERVER: 目前网上下载的zendencoder是编译php4.1x左右的php程序,php4.2x程序的环境变量已有变化,因此虽然你是用php4.2x写的程序,但是编译出来确实php4.1x的.如: function Test(){ $_SESSION['username'] = 'XiaoLi'; } 在php4.2x中$_SESSION是session,而且是全局变量, 在php4.1x中$_SESSION只是一个数组,它在函数Test中

二、如何解决:python:Can&#39;t reopen .pyc file

如何解决:python:Can't reopen .pyc file pyc文件是python在编译过程中出现的主要中间过程文件.pyc文件以二进制形式存在,可以由python虚拟机直接执行的程序.通过生成.pyc文件可以提高程序运行的速度,编译过的.pyc程序代码也相当于转换了源代码,提高源码加密性.当然了,反编译还是存在的,但是还是可以一定程度上对程序进行包装,反编译程序也费时费力,工作量大. 我们可以使用如下格式运行*.py文件来生成*.pyc文件(*为文件名:path文根目录路径): p