Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
После команды
php artisan route:cache
получаю ошибку при заходе на страницу:
The GET method is not supported for this route. Supported methods: HEAD.
После
php artisan route:clear
ошибка пропадает.
Route::group(['namespace'=>'Test','middleware'=>'test_auth'], function()
{
Route::get('/', "Grid\TestController@index")->name('index');
...
});
Кто-нибудь сталкивался с такой проблемой?
Не в сети
https://laravel.com/docs/master/controllers
Closure based routes cannot be cached. To use route caching, you must convert any Closure routes to controller classes.
может в этом дело?
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Так, вроде, у меня все маршруты на контроллерах. Ошибка выходит только на указанном маршруте "/", остальные работают корректно. Какой бы контроллер на "/" не привязывал, выходит ошибка.
Не в сети
Ну не факт, что ошибка именно в этой строке. Маршрут может не попадать в кеш потому что что-то плохое происходит в процессе кеширования.
Выходят какие-то ошибки при выполнении команды? Есть что-то в логах?
Покажи весть файл.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Сама команда кэширования проходит без видимых предупреждений
Route cache cleared!
Routes cached successfully!
Из многочисленных маршрутов не работает только этот.
В файле кэша bootstrap/cache/routes-v7.php, если это он, конечно, маршрут есть.
'/' =>
array (
0 =>
array (
0 =>
array (
'_route' => 'index',
),
1 => NULL,
2 =>
array (
'GET' => 0,
'HEAD' => 1,
),
3 => NULL,
4 => false,
5 => false,
6 => NULL,
),
),
'index' =>
array (
'methods' =>
array (
0 => 'GET',
1 => 'HEAD',
),
'uri' => '/',
'action' =>
array (
'middleware' =>
array (
0 => 'web',
1 => 'test_auth',
),
'uses' => 'App\\Http\\Controllers\\Test\\Grid\\TestGridController@index',
'controller' => 'App\\Http\\Controllers\\Test\\Grid\\TestGridController@index',
'namespace' => 'App\\Http\\Controllers\\Test',
'prefix' => NULL,
'where' =>
array (
),
'as' => 'index',
),
'fallback' => false,
'defaults' =>
array (
),
'wheres' =>
array (
),
'bindingFields' =>
array (
),
),
На локальной машинке и VDS Apache такой проблемы получить не удалось, только на сервере IIS. В общем, пока отложил кэширование маршрутов, и без него работает быстро . Спасибо за помощь:)
Не в сети
Посмотри все маршруты через
php artisan route:list
И посмотри в списке какие методы поддерживает твой маршрут.
Не в сети