1

比較的単純な ZF アプリを Windows ベースのサーバーから Linux サーバーに移動したところ、次の致命的なエラーが発生しました。

'Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'SiteDetail' was not found in the registry; used paths: Zend_View_Helper_: Zend/View/Helper/:/home/yourfran/public_html/customcutout/application/views/helpers/' in /usr/etc/Zend/library/Zend/Loader/PluginLoader.php:412 Stack trace: #0 /usr/etc/Zend/library/Zend/View/Abstract.php(1182): Zend_Loader_PluginLoader->load('SiteDetail') #1 /usr/etc/Zend/library/Zend/View/Abstract.php(618): Zend_View_Abstract->_getPlugin('helper', 'siteDetail') #2 /usr/etc/Zend/library/Zend/View/Abstract.php(344): Zend_View_Abstract->getHelper('siteDetail') #3 /home/yourfran/public_html/customcutout/application/layouts/scripts/layout.phtml(28): Zend_View_Abstract->__call('siteDetail', Array) #4 /home/yourfran/public_html/customcutout/application/layouts/scripts/layout.phtml(28): Zend_View->siteDetail() #5 /usr/etc/Zend/library/Zend/View.php(108): include('/home/yourfran/...') #6 /usr/etc/Zend/library/Zend/View/Abstract.php(888): Zend_View->_run('/hom in /usr/etc/Zend/library/Zend/Controller/Plugin/Broker.php on line 336

Sitedetail (SiteDetail ではない) と呼ばれるビュー ヘルパーがありますが、コードのどこにもそれをSiteDetailとして参照していません。小文字のdのみです。

どんな助けでも大歓迎です。

アップデート:

28 行目、layout.phtml

<h1><?php echo $this->escape($this->siteDetail()->title); ?></h1>

修正済み: [どのように? このような..]

私のビューヘルパー(Sitedetail.php)で変更しました

public function siteDetail()

public function Sitedetail()

そして私のlayout.phtmlで

<h1><?php echo $this->escape($this->siteDetail()->title); ?></h1>
<p><?php echo $this->escape($this->siteDetail()->strapline); ?></p>

<h1><?php echo $this->escape($this->Sitedetail()->title); ?></h1>
<p><?php echo $this->escape($this->Sitedetail()->strapline); ?></p>
4

1 に答える 1

0

私は数ヶ月前に同様の問題を抱えていました。ご指摘のとおり、問題は大文字と小文字の区別にある可能性があります。Windows ファイルシステムでは大文字と小文字が区別されませんが、Linux では大文字と小文字が区別されます。

ヘルパー ファイルのファイル名の大文字と小文字を確認してください。原因である可能性があります。

それが役立つことを願って、

于 2012-04-20T10:14:41.453 に答える