3

我使用 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 问题。

4

1 回答 1

0

我认为这是include_path设置了两次。当include_path调用两次时,它会使 APC 读取和解析变得混乱。确保您的 ZEND 项目没有在include_path.

另一个检查你是否正确配置了 ini 设置或手动放置了 ini 设置数据:

apc.include_once_override = 0
apc.canonicalize = 0
apc.stat = 0

与此同时,由于更新,这个问题已经得到解决。

于 2013-03-16T01:39:15.117 回答