解决php网站搬家出现Incompatible file format的问题

php网站搬家的时候,有可能出现以下错误

PHP Fatal error:  Incompatible file format:  The encoded file has format major ID 1, whereas the Loader expects 5 in 路径\includes\db.inc.php on line 0

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

 

也就是说

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

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

 

综上,造成该问题的原因是原主机是用php5.2(或者更低版本)Zend Optimizer加密,而现在服务器php版本是5.3或者更高,用Zend Guard Loader加密。

 

解决方法:切换到php5.2。现在主机商一般都支持php版本切换。