2

エラーが発生します致命的なエラー:config()を再宣言できません(以前はライブサーバーで... / basics.php:58で宣言されていました。ローカルサーバーでは正常に動作しますが、サイトをライブサーバーにアップロードすると致命的なエラー。config()が複数回宣言されているかどうかを確認しましたが、basics.phpファイルで1回しか宣言されていません。ローカルサーバーで正常に機能しているため、命名規則にも準拠しています。ライブサイトでのみこのようなエラーが表示されます。 。これに対する解決策を提案してください。

これに関する助けをいただければ幸いです。

4

5 に答える 5

2

次のように$usesをarray()に設定し、$ autoRenderをfalseに設定すると、この問題が解決します

   class IndexController extends AppController
    {

        public $uses = array();
        public $autoRender = false;

        public function index()
        {
            echo 'test';
        }

    }
于 2011-08-23T08:01:26.867 に答える
2

Apacheの実行中にこのエラーが発生し、.htaccessファイルが無視されることに関連することになりました。Apacheを再構成していて、誤って構成ファイルに設定さAllowOverrideれていたためNone、何らかの理由でこのエラーが発生していました。

したがって、簡単に言うと、http.confまたはサイト構成の1つで、関連するDirectoryセクションのAllowOverrideがAll(または以外のNone)に設定されていることを確認してください。

<Directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All 
    Order allow,deny
    allow from all
</Directory>
于 2011-10-17T21:41:45.320 に答える
1

これは、「basics.php」が複数回含まれている場合に発生する可能性があります。include_once/require_onceの代わりにを使用することでそれを防ぐことができますinclude/require

しかし、これはローカルWebサーバーで機能している理由を説明していません。

于 2011-01-13T10:00:48.237 に答える
1

誰かがたまたまこれを検索した場合に備えて。

Cakephp1.3.11がインストールされているWindows2003サーバーでも同じエラーが発生しました。私の場合、1つのクラスアソシエーション宣言にタイプミスがあったためです。

AccountクラスへのhasOneアソシエーションでClientクラスを定義しました。そこで、classNameプロパティをClientに誤って入力したため、ループが作成され、cakePHPでconfig()を再宣言できませんというエラーが発生しました。

于 2011-08-21T19:57:05.480 に答える
1

PHPのバージョンを確認してください。このエラーは、5.3よりも厳密なPHPバージョン5.4を使用すると発生します。

Cake / bootstrap.phpを開き、変更を加えて、すべてのファイルが関数'require_once'で一度ロードされるようにします。コードは次のようになります。

require_once CORE_PATH . 'cake' . DS . 'basics.php';
require CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php';
require_once LIBS . 'object.php';
require_once LIBS . 'inflector.php';
require_once LIBS . 'configure.php';
require_once LIBS . 'set.php';
require_once LIBS . 'cache.php';
Configure::getInstance();
require_once CAKE . 'dispatcher.php';
于 2013-08-25T09:46:43.193 に答える