解決Zend加密的PHP頁面出現(xiàn)Incompatible file format的問題
手頭有一套php程序是zend加密的,將它放到主機(jī)空間上運行的時候遭遇如下問題:Fatal error: Incompatible file format: The encoded file has format major ID 3, whereas the Loader expects 4 in
百度總結(jié)之后,匯總該問題相關(guān)信息如下:
- 從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的環(huán)境下都無法正常瀏覽,會報出文章開頭的錯誤。
解決方法:
- 可以把PHP程序源文件在Zend Guard 5.1下重新加密,然后才能瀏覽。本處因為拿到的就是加密商業(yè)代碼,故放棄這一招。
- 也可以把程序放到PHP5.2 + Zend Optimizer的環(huán)境下運行即可。本處選擇它來運行這套加密程序。
把空間搬遷到了低版本PHP的環(huán)境下,搞定。摘錄前后主機(jī)PHP環(huán)境如下:
- 搬遷前: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
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。