我使用composer来安装Zend Framework 2和其他库。每次在同一路径中重新安装应用程序后,我都必须手动清除APC(版本3.1.13)操作码缓存(PHP 5.4.8),否则会出现错误,如
PHP Fatal error: Interface 'Zend\\Mvc\\ApplicationInterface' not found
或
PHP Fatal error: include(): Cannot redeclare class zend\\eventmanager\\eventscapableinterface
每个应用程序安装后,失败的类都会不断变化。我有apc.stat=1,所以操作码缓存应该注意新部署的php文件并自动重新编译,如果我之前在同一路径上部署了应用程序。
我已经与作曲家开发人员讨论了Github上的问题,并在此处发布了我的APC设置:https://github.com/composer/composer/issues/1662。我们同意这看起来更像是一个APC问题。
答案 0 :(得分:0)
我认为include_path
设置了两次。当include_path
调用两次时,它会使APC读取和解析混乱。确保您的ZEND项目未在include_path
上调用两次。
另一个检查是您正确配置了ini设置或手动输入设置数据:
apc.include_once_override = 0
apc.canonicalize = 0
apc.stat = 0
同时,由于更新,这个问题已经解决了。