■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Error: Controller class FeedController could not be found.

binbin > Error: Controller class FeedController could not be found. @ 2015/5/22 11:58

2015-05-22 10:57:47 Error: [MissingControllerException] Controller class FeedController could not be found.
Exception Attributes: array (
  'class' => 'FeedController',
  'plugin' => NULL,
)
Request URL: /feed/ajax/1.js
Stack Trace:
#0 /var/www/basercms/app/webroot/index.php(151): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}
2015-05-22 10:58:07 Error: [MissingControllerException] Controller class FeedController could not be found.
Exception Attributes: array (
  'class' => 'FeedController',
  'plugin' => NULL,
)
Request URL: /feed/ajax/1.js
Stack Trace:
#0 /var/www/basercms/app/webroot/index.php(151): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}


上記のエラーが、error.log にちょいちょい出てきて困っております。

タイミングも分かっていません。サイトを適当に遷移させていると出てきたり、出てこなかったりします。
そもそもこのエラーメッセージが、なにを意味しているのかも理解できていません。
開発途中から出ていたのですが、開発内容とは関係なさそうなエラーだったので無視してました。
ですが開発も終盤にさしかかり、それでもちょいちょい出てくるので、なんとかしなければと思い投稿しました。

app/内に独自の機能(コード)もいくつか実装していますので、それらが関係しているとも思うのですが、
Feedプラグインは使っておらず、原因の見当が付かない状況です。
インストールはしていませんが、プラグイン自体は設置したままです。

ちなみにBasercmsの機能と、独自に実装した機能には影響なさそうな感じで、とくに不都合ではないのですが、
気持ち悪いので、いつか何とかしようと思っているところです。
よろしくお願いします。


■ BaserCMSのバージョン:3.0.7
■ レンタルサーバー名:さくらサーバー VPS
■ スマートURLの利用: ON
■ 設置フォルダ: サブフォルダ
■ PHPスキル(自己評価): C
■ OSの種類:CentOS release 6.6 (Final)
■ PHPのバージョン:PHP 5.5.21 (cli)
■ データベース種類・バージョン:MySQL 5.5.39
goichi > Re: Error: Controller class FeedController could not be found. @ 2015/5/22 21:21
こんにちは(^^
直接の回答出ないかもしれませんが、通りがかったので回答しています。

エラーをみると、登録されていないフィードを読みに行っている感じですね・・・。
ID:1のフィードを探しているようですが、デフォルトでだと「baserCMSニュース」が入っていると思います。
例えば、このID:1のフィード(「baserCMSニュース」)を削除したとして、
管理画面のダッシュボードに入ったような場合、このエラーが起きるような気がします。
(管理画面のダッシュボードでは、デフォルトでID:1のフィードを呼び出しているはずなので・・・。)

とにもかくにも、
フィード1がないのに、呼び出してしまっているという状態だと思いますので、
まずはフィード1が現状どうなっているか、
そしてまた、管理画面ダッシュボードで削除されたフィード1を呼び出したままにしていないか、をお確かめください(^^
binbin > Re: Error: Controller class FeedController could not be found. @ 2015/5/23 12:42
返信ありがとうございます。

頂いた内容で改めて検証したところ、管理画面にアクセスしたタイミングでエラーが発生していることが分かりました。
なんですが、「フィード1の現状」の確認方法が分かりませんでした。

そしてまた別のエラーが発生しました。


2015-05-23 12:14:21 Error: [MissingControllerException] Controller class NewsController could not be found.
Exception Attributes: array (
  'class' => 'NewsController',
  'plugin' => NULL,
)
Request URL: /news/archives/1
Stack Trace:
#0 /var/www/morningcall/app/webroot/index.php(151): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}



これはブログ記事を投稿し、アクセスした時に発生したエラーです。
https://xxx.xxx/news/archives/1
アクセス先のURLはこんな感じです。

引用:

ホーム > 404 NOT FOUND
コントローラがありません
エラー: NewsController が見つかりません。
エラー: クラス NewsController を app/Controller/NewsController.php ファイル内に作成してください。
class NewsController extends AppController {

}
注意: このエラーメッセージをカスタマイズしたい場合は、 app/View/Errors/missing_controller.ctp を作成してください
Stack Trace
APP/webroot/index.php line 151 → Dispatcher->dispatch(CakeRequest, CakeResponse)

画面にはこのようなエラーが表示されました。
もちろんNewsControllerなどは用意していません。


#0 /var/www/morningcall/app/webroot/index.php(151): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))

共通しているのはこの部分で、CakeRequest, CakeResponseあたりが怪しいと睨んでるのですが、
この辺は勉強不足でよく理解できていません。

ルーティング辺りが間違えているのかと、思い当たるのは、

class AppController extends BcAppController {

    public  function beforeFilter(){
        parent::beforeFilter();
        $this->Security->blackHoleCallback = 'forceSSL';
        $this->Security->requireSecure();
    }

    public function forceSSL() {
        $this->redirect('https://' . env('SERVER_NAME') . $this->here);
    }
}

全面SSLにしたかったので、このようなものをAppControllerに追加しました。

管理画面の「サイト基本設定」のSSLの項目は次のようになっています。
WebサイトURL * https://xxx.xxx/
WebサイトURL * https://xxx.xxx/ [SSL]
管理画面SSL設定 SSL通信を利用する


ヒントだけでも結構ですので、なにかご存知の方がいましたら、よろしくお願いいたします。
goichi > Re: Error: Controller class FeedController could not be found. @ 2015/5/24 23:25
引用:
Request URL: /news/archives/1

というのは、ブログプラグインのデフォルトブログ「news」へアクセスしようとしているのだと思います。
フィードの件もそうですが、とにもかくにも「アクセスしようとしているけど、存在しない」という状態だと思います。

とりあえず、プラグインの管理画面を見てみるとよさそうです。
そもそもブログやフィードプラグインが有効になっているかどうか、
また、有効になっていても、ブログ名を変更していたり、
登録されたいたフィードを消したりしていないかなど、デフォルトと違う部分がありませんか?

今回、こうしたエラーがでている以上、どこからか問題のURLをリクエストしているのだと思います。

例えば、ブログ名の「news」を変更したのに、呼び出している関数は「news」を引数にとったままとか、
フィードのid:1を削除しているのに、呼び出している関数はidの「1」を引数にとったまま、という感じです。

AppControllerに追記した部分が悪さをしているかどうかは、ちょっと判断つきかねますが、
もしも気になるようでしたら、一旦、問題の記述をコメントアウトしてみても良いかも知れません。
(もしも、この記述を外して上手くいくようであれば、AppControllerへの記述ではなく、
 サーバー側の設定や.htaccessを設定することで、全ページをSSL通信させるようにしても良いかも知れませんし。。。。)


binbin > Re: Error: Controller class FeedController could not be found. @ 2015/5/25 9:52
返信ありがとうございます。

feed,blogプラグイン共に、インストールし直したら出なくなりました。
お騒がせいたしました。

/news/archives/1
これについては、blogプラグインを一旦アンインストールし、再度インストールしたら、
エラーが消え、記事も表示できるようになりました。

feedプラグインについては、もともとインストールされてなかったんですが、改めてインストールしたら、
エラーが出なくなりました。
インストールの途中に、「初期化する」というのがあったので、それが良かったのかもしれません。

そもそも情報として載せていなかったんですが、途中でサイトを引越ししてまして、
(別サーバーの別ドメインに、)
それで設定まわりがおかしくなったのかなーと思っています。
教訓としては、おかしくなったらプラグインもインストールし直せ!
こんなところでしょうか。
お騒がせいたしました。
ありがとうございまいました。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
55 人のユーザが現在オンラインです。 (53 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 55