Framework: New project / BadMethodCallException: Method getPath does not exist

Created on 23 Sep 2017  路  4Comments  路  Source: laravel/framework

  • Laravel Version: 5.5.0
  • PHP Version: 7.0.23-1+ubuntu14.04.1+deb.sury.org+1
  • Database Driver & Version:

It happens if route returns view.

Route::get('/', function () {
    return view('welcome');
});

It works fine if route is like this

Route::get('/welcome', 'IndexController@index');

checked: https://github.com/laravel/framework/issues/20864#issuecomment-330146126

Trace

BadMethodCallException: Method getPath does not exist. in file /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php on line 97
Stack trace:
  1. BadMethodCallException->() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php:97
  2. Illuminate\Routing\Route->__call() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Router.php:622
  3. Illuminate\Routing\Router->runRoute() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Router.php:588
  4. Illuminate\Routing\Router->dispatchToRoute() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Router.php:577
  5. Illuminate\Routing\Router->dispatch() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176
  6. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30
  7. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /var/www/laravel55/vendor/fideloper/proxy/src/TrustProxies.php:56
  8. Fideloper\Proxy\TrustProxies->handle() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
  9. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
 10. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30
 11. Illuminate\Foundation\Http\Middleware\TransformsRequest->handle() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
 12. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
 13. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30
 14. Illuminate\Foundation\Http\Middleware\TransformsRequest->handle() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
 15. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
 16. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27
 17. Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
 18. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46
 20. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149
 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53
 22. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102
 23. Illuminate\Pipeline\Pipeline->then() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151
 24. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /var/www/laravel55/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116
 25. Illuminate\Foundation\Http\Kernel->handle() /var/www/laravel55/public/index.php:55

Most helpful comment

upgrading newrelic solved the problem

All 4 comments

I just tried this on a 5.5.3 project and it works fine. (Not a new project though but It isn't related). Try updating and testing on latest patch version.

upgrading newrelic solved the problem

You can close the issue if solved :)

For those who thinks that upgrading newrelic doesn't make any sense. Well, upgrading it actually solve it.
So, there's a breaking changes introduced by Laravel 5.5 on Router class, newrelic daemon uses this class if you're using laravel specific instrumentation.

Reference: https://discuss.newrelic.com/t/problem-with-laravel-5-5/51749

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mianshargeel picture mianshargeel  路  59Comments

PheRum picture PheRum  路  112Comments

mnpenner picture mnpenner  路  72Comments

nkeena picture nkeena  路  75Comments

thewinterwind picture thewinterwind  路  63Comments