2

私は2台のサーバーを持っています。

  1. HFS(大文字と小文字を区別しない)ファイルシステム上のユキヒョウ
  2. ext4(大文字と小文字を区別する)ファイルシステムを備えたgentoo linux

どちらもphp5.3と最新のapache2および最新のZendFramework1.11ビルドを使用しています。

Mac OSXではWebサイトは正しく機能しますが、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から)をにあるZendFrameworkのライブラリディレクトリにコピーしました/usr/local/ZendFramework/library/ZendX/

次を使用してヘルパーを初期化します。

       ZendX_JQuery::enableView($view);

例外の原因となっているlogin.phtml内のコードは次のとおりです。

$this->jquery()->enable();

Mac OSサーバーでは機能するので、コード自体に関連する必要はありませんが、ここにもZendXがあるので、問題を特定できません。

4

2 に答える 2

1

現在テストできませんが、次の行のjQueryで「q」を大文字にする必要があると思われます。

$this->jQuery()->enable();

通常、ZFは最初の文字を大文字にすることでメソッドをクラス名にマップするため、クラス名の「異常な」大文字のQが問題になる可能性があります。

于 2011-02-17T12:04:09.190 に答える
1

ヘルパーパスを追加する必要があります。マニュアルを参照してください。これは、ブートストラップ、Zend_Application、FrontControllerプラグイン、ベースコントローラークラス、またはビューで直接行うことができます。

更新:申し訳ありませんが、あなたの質問を読み間違えました。問題は小さな「q」です。Windowsでは大文字と小文字は区別されません。それがそこで機能する理由です。Linuxはそうではありません。したがって、「jQuery.php」と「jquery.php」は同じファイルではありません。

于 2011-02-17T12:04:12.013 に答える