0

config.yml で説明されているデータベースへの 5 つの接続とマッピングがあります。

orm:
    default_entity_manager: site
    entity_managers:
        site:
            connection: siteConfig
            mappings:
                CSSBundle: ~
        forum:
            connection: forumConfig
            mappings:
                IPBBridgeBundle: ~

CSSBundle を一部のエンティティのプライマリ バンドルとして使用しており、IPB データベース (「フォーラム」EM) を介した認証には IPBBridgeBundle を使用しています。IPBBridgeBundle には、security.yml でユーザー プロバイダーとして設定した Member エンティティがあります。

providers:
    main:
        entity: { class: Telnet\IPBBridgeBundle\Entity\Member, property: username }

"/login"、"/ligin_check"、"/logout" を除く CSSBundle で処理されるすべてのルートは、IPBBridgeBundle (LoginController) で処理されます。そして、私が/に行こうとすると、私は持っています

Fatal error: require_once(): Cannot redeclare class telnet\ipbbridgebundle\controller\logincontroller in /var/www/vhosts/css.ilimnet.ru/www/Symfony/vendor/jms/di-extra-bundle/JMS/DiExtraBundle/HttpKernel/ControllerInjectorsWarmer.php on line 52 
4

1 に答える 1

1

ファイル /var/www/vhosts/css.ilimnet.ru/www/Symfony/vendor/jms/di-extra-bundle/JMS/DiExtraBundle/HttpKernel/ControllerInjectorsWarmer.php

logincontrollerというクラスを宣言しているようです。PHP のクラス名は大文字と小文字が区別されないため、独自に定義したログイン clontroller クラスと衝突します。

ログインコントローラーのクラス名とファイルを一意の名前にリファクタリングすると、これで問題ないはずです。

上記のエラー メッセージは、最初のクラスが発生した正確な場所を示しています。

 Previously declared in ...
于 2012-10-25T07:02:30.090 に答える