我有两台服务器。
对他们两个我使用php 5.3和最新的apache2以及最新的Zend Framework 1.11版本。
在Mac OSX下网站运行正常,在linux下我有以下错误:
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'Jquery' was not found in the registry; used paths: Dashboard_View_Helper_: /home/ufk/Projects/php-projects/xpo-website/application/modules/dashboard/views/helpers/ xpo_Uploadify_View_Helper_: xpo/Uploadify/View/Helper/ ZendX_JQuery_View_Helper_: ZendX/JQuery/View/Helper/ : /home/ufk/Projects/php-projects/xpo-website/application/helpers/ Zend_View_Helper_: Zend/View/Helper/' in /usr/local/ZendFramework-1.11.3/library/Zend/Loader/PluginLoader.php:412 Stack trace:
0 /usr/local/ZendFramework-1.11.3/library/Zend/View/Abstract.php(1174): Zend_Loader_PluginLoader->load('Jquery')
1 /usr/local/ZendFramework-1.11.3/library/Zend/View/Abstract.php(610): Zend_View_Abstract->_getPlugin('helper', 'jquery')
2 /usr/local/ZendFramework-1.11.3/library/Zend/View/Abstract.php(336): Zend_View_Abstract->getHelper('jquery')
3 /home/ufk/Projects/php-projects/xpo-website/application/modules/dashboard/views/scripts/game/login.phtml(1): Zend_View_A in /usr/local/ZendFramework-1.11.3/library/Zend/Loader/PluginLoader.php on line 412
我将ZendX目录(从extras / library)复制到位于/usr/local/ZendFramework/library/ZendX/
的Zend Framework的库目录。
我使用以下方法初始化帮助程序:
ZendX_JQuery::enableView($view);
导致异常的login.phtml中的代码是:
$this->jquery()->enable();
它甚至不应该与代码本身有关,因为在Mac OS服务器下它确实有效,但我在这里也有ZendX,所以我无法查明问题。
答案 0 :(得分:1)
现在无法测试,但怀疑你需要在这行中用jQuery大写'q':
$this->jQuery()->enable();
通常ZF通过大写第一个字母来将方法映射到类名,因此可能是类名中的“异常”大写Q是问题。
答案 1 :(得分:1)
您必须添加辅助路径。 See manual。您可以在引导程序中使用Zend_Application,使用FrontController插件,在基本控制器类中或直接在视图中执行此操作。
更新:抱歉,我误解了你的问题。问题是小“q”。 Windows不区分大小写。这就是它在那里工作的原因。 Linux不是。所以'jQuery.php'和'jquery.php'不是同一个文件。