0

学校向けのCMSを構築しています。私のアプリケーション構造は次のとおりです

- SITE
-- application
---- configs
---- layouts
---- modules
-------- default
------------ controllers
------------ forms
------------ models
------------ plugins
------------ views
------------ Bootstrap.php
-------- admin
------------ controllers
------------ forms
------------ models
------------ views
------------ Bootstrap.php
---- Bootstrap.php
-- public
-- library
-- index.php

私のコードはローカルホストの zend サーバーでうまく動作しますが、アップロード後にこのエラーが表示されます

致命的なエラー: クラス 'Default_Model_Students' が /home/ernagro/application/modules/default/controllers/IndexController.php 行 23 に見つかりません

これは私の主なブートストラップ コードです:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    private $_acl=null;
    private $_auth=null;

    protected function _initAutoload(){
        $modelLoader=new Zend_Application_Module_Autoloader(array('namespace'=>'','basePath'=>APPLICATION_PATH.'/modules/default'));
        require_once APPLICATION_PATH.'/modules/default/models/Acl.php';
        require_once APPLICATION_PATH.'/modules/default/plugins/AccessCheck.php';
        $this->_acl = new Default_Model_Acl();
        $this->_auth= Zend_Auth::getInstance();
        $fc = Zend_Controller_Front::getInstance();
        if (Zend_Auth::getInstance()->hasIdentity())
        {
            $identity= zend_auth::getInstance()->getStorage()->read();
            Zend_Registry::set('role', $identity[role]);
        }
        else
        {
            Zend_Registry::set('role', 'guests');
        }
        $fc->registerPlugin(new Default_Plugin_AccessCheck($this->_acl,$this->_auth));
        return $modelLoader;    
    }
    function _initViewHelpers()
    {
        $this->bootstrap( 'layout');
        $layout = $this->getResource('layout');
        $view = $layout->getView();
        $view->setHelperPath(APPLICATION_PATH.'/helpers','');
        $view->doctype('XHTML1_TRANSITIONAL');
        $view->headMeta()->appendHttpEquiv('Content-type','text/html;charset=utf-8')
                        ->appendName('description','سیستم مدیریت محتوای مدارس تکفام')
                        ->appendName('keywords','مدیریت محتوای مدارس, مدیریت محتوا, دبیرستان ها, مدارس, سیستم جامع مدارس, مدیریت مدارس, محتوا, مدیریت, سیستم, تکفام, ارنا, تیم ارنا, ernagourp, Erna, Takfam, group')
                        ->appendName('Language','Persian, FA')                  
                        ->appendName('generator','Erna Group TM(http://www.ernagroup.com')                  
        ;
        //Zend_Dojo::enableView($view);
        ZendX_JQuery::enableView($view);
        $view->headTitle('سیستم مدیریت محتوای مدارس تکفام')->setSeparator(' | ');
        $navContainerConfig=new Zend_Config_Xml(APPLICATION_PATH."/configs/navigation.xml","nav");
        $navContainer = new Zend_Navigation($navContainerConfig);
        $view->navigation($navContainer)->setAcl($this->_acl)->setRole(Zend_Registry::get(role));
    }

}

そして、これは私のデフォルトのモジュール ブートストラップです。

 class Default_Bootstrap extends Zend_Application_Module_Bootstrap{
    protected function _initAutoload(){
    $modelLoader=new Zend_Application_Module_Autoloader(array(
            'namespace'=>'Default','basePath'=>APPLICATION_PATH.'/modules/default')
    );
    return $modelLoader;
    }
 }
4

1 に答える 1

1

フォルダ名の大文字化に関係しています。ほとんどの場合、localhost は Windows マシン上にあり、Linux 上の運用サーバー上にあります。フォルダの名前を に変更してみてdefaultくださいDefault。Windows ではこの 2 つに違いはありませんが、Linux には違いがあります。

于 2013-04-06T19:38:00.790 に答える