看似随意(我不想说这个词),当Autoloader尝试按需加载时,我在Zend Framework 1.11下的各种“Db”类中遇到以下错误:
<小时/> 致命错误:无法在 224 行 C:\ www \ Zend \ Db \ Table \ Select.php 中重新声明类Zend_Db_Table_Select未知中的Zend_Db_Table_Abstract :: $ _ writeClosed
Zend Framework的唯一部分我明确地有一个“require”行是Zend Autoloader,所以我不知道为什么或如何重新声明这些类:
require_once('C:/www/Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::getInstance();
更糟糕的是,正如我所说,这似乎是随机发生的。将对各种自动加载的类方法进行大量调用,然后(看似)不会出现此错误。阻止错误继续重复的唯一方法是重新启动整个Web服务器。然后回到Zend Autoloader的俄罗斯轮盘游戏。
我真的把头发拉到这里,希望有人知道会发生什么。我需要尽快在多个系统上部署此应用程序,但不能告诉管理员每当发生此错误时重新启动整个服务器。 :(
答案 0 :(得分:1)
这可能会有所帮助。
确认您没有加载Zend Library两次而不想这样做。
即。除了你自己的应用程序加载器之外,检查/etc/php.ini或等效文件是否也不是以某种方式加载Zend库。
此处的提示是警告表示您正在尝试重新声明该课程。
这指向已经以某种方式预装的课程。
同时验证任何包含使用绝对路径,而不是相对路径。
答案 1 :(得分:0)
删除application.ini中的库路径:)