2014-05-15 9 views
0

Je construis une application laravel et tout semble fonctionner correctement, sauf pour le fait que je continue à obtenir ces erreurs apparaissent continuellement dans le fichier journal. Je veux dire qu'ils apparaissent toutes les quelques minutes, parfois plus souvent, parfois moins - il devient plus difficile de trouver de vrais problèmes dans le fichier journal. Excepté ces problèmes, ils ne causent pas vraiment de problèmes - J'ai une méthode App :: missing pour prendre soin des vrais utilisateurs.Laravel constamment connecté "méthode de contrôleur non trouvé"

Avez-vous une idée d'où chercher la solution?

[2014-05-15 19:58:20] local.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' with message 'Controller method not found.' in /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:254 
Stack trace: 
#0 [internal function]: Illuminate\Routing\Controller->missingMethod(Array) 
#1 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(231): call_user_func_array(Array, Array) 
#2 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(93): Illuminate\Routing\Controller->callAction('missingMethod', Array) 
#3 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(62): Illuminate\Routing\ControllerDispatcher->call(Object(HomeController), Object(Illuminate\Routing\Route), 'missingMethod') 
#4 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/Router.php(934): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'HomeController', 'missingMethod') 
#5 [internal function]: Illuminate\Routing\Router->Illuminate\Routing\{closure}(Array) 
#6 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/Route.php(105): call_user_func_array(Object(Closure), Array) 
#7 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1000): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request)) 
#8 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Routing/Router.php(968): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request)) 
#9 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(738): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request)) 
#10 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(708): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request)) 
#11 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Http/FrameGuard.php(38): Illuminate\Foundation\Application->handle(Object(Illuminate\Http\Request), 1, true) 
#12 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Session/Middleware.php(72): Illuminate\Http\FrameGuard->handle(Object(Illuminate\Http\Request), 1, true) 
#13 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Cookie/Queue.php(47): Illuminate\Session\Middleware->handle(Object(Illuminate\Http\Request), 1, true) 
#14 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Cookie/Guard.php(51): Illuminate\Cookie\Queue->handle(Object(Illuminate\Http\Request), 1, true) 
#15 /Applications/MAMP/htdocs/gran.pw/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Illuminate\Cookie\Guard->handle(Object(Illuminate\Http\Request), 1, true) 
#16 /Applications/MAMP/htdocs/gran.pw/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(606): Stack\StackedHttpKernel->handle(Object(Illuminate\Http\Request)) 
#17 /Applications/MAMP/htdocs/gran.pw/public/index.php(49): Illuminate\Foundation\Application->run() 
#18 {main} [] [] 

Répondre

0

C'est un 404 pour un URL inexistant.

à savoir http://example.com/this-url-does-not-exist

Pour voir l'URL est réellement la cause de la 404 - ajouter à vos filtres fichier

App::missing(function($exception) 
{ 
    Log::error('Missing URL was: ' . Request::fullUrl()); 
}); 

Il enregistrera l'URL que toute exception se produit dans vos journaux.

Il s'agit probablement d'un bot d'un moteur de recherche essayant de rechercher d'anciens liens ou de liens rompus dans votre application.

I did mention this to Taylor as a possible bug in Laravel 4.1 - que l'exception http n'enregistre pas l'URL manquante - mais qu'elle était fermée à ce moment-là. Je pourrais le rouvrir car je suis sûr que c'est un bug (puisque le vieux 404 a enregistré l'URL).

+0

Merci pour votre idée! Je vais essayer d'ajouter cette ligne et voir ce qui se passera – InGWeT

0

On dirait que votre HomeController n'étend le contrôleur de Laravel:

class HomeController extends Controller { 

} 

Parce que la méthode missingMethod manque de la vôtre et celui-ci est dans la classe de base contrôleur Laravel.

+0

Toutes mes classes étendent BaseController qui étend à son tour le contrôleur. C'est ce que tu veux dire? – InGWeT

+1

Vous devrez partager votre code si vous avez besoin de personnes ici pour vous aider. Je dis ce que je peux voir par le journal, Laravel a essayé d'appeler missingMethod et il n'a pas pu le trouver, donc vous avez une méthode non trouvée. –

Questions connexes