錯誤如圖:

致命錯誤:不兼容的文件格式
可能的原因:
可能的原因:
1、文件本身加密的問題,很有可能你用的Zend進行加密了,但是因為版本的問題,很有可能是你的主機上的Zend Optimizer版本太低了。
2、文件編碼的問題(可能性較小),比如你使用了非ANSI或者UTF-8的文件編碼方式。
3、上傳的模式問題(當然,你這里使用的是內置程序,應該不是這個問題),上傳的話使用binary模式可能會好些。
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
百度總結之后,匯總該問題相關信息如下:
- 從PHP5.3開始如果要支持zendguard加密的PHP代碼,必須安裝zend guard loader,老的zend optimizer將不被支持。
- PHP5.2之前的Zend加密程序用Zend Optimizer解析。
- 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
