почему веб-сайт Laravel не идет по правильному маршруту в web.php?что такое autoload_static.php? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть LoginController_old.php и LoginController.php

Когда я захожу в 127.0.0.1/login

Я обнаруживаю, что он работает на LoginContrller_old.php

, а неподчиняться маршруту web.php

Auth::routes();

Я использую php artisan route: список Я вижу, что маршрут правильный

Route::get('login', 'App\Http\Controllers\Auth\LoginController@showLoginForm');
Route::post('login', 'App\Http\Controllers\Auth\LoginController@login');
Route::get('logout', 'App\Http\Controllers\Auth\LoginController@logout');

Но почему он всегда идет по неправильному маршруту ...

Я обычно изменяю имя на old_Logincontroller.php, затем показывает сообщение об ошибке ...

"include(/var/www/html/comefo/vendor/composer/../../app/Http/Controllers/Auth/LoginController_old.php): failed to open stream: No such file or directory"

Я ищу продавца / композитора / autoload_static.php Я нахожу ошибку

public static $classMap = array (
    'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php',
    'App\\Events\\News' => __DIR__ . '/../..' . '/app/Events/News.php',
    'App\\Events\\Queue_number' => __DIR__ . '/../..' . '/app/Events/Queue_number.php',
    'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php',
    'App\\Http\\Controllers\\Auth\\ForgotPasswordController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/ForgotPasswordController.php',
    'App\\Http\\Controllers\\Auth\\LoginController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/LoginController old.php',

Как возник вопрос?почему autoload_static.php смешивает маршрут?И как я могу это исправить и никогда не использовать autoload_static.php, потому что это тратит впустую весь мой день .....

fix1 использовать php artisan route: кеш Я получил ошибку

   LogicException  : Unable to prepare route [api/user] for serialization. Uses Closure.

  at /var/www/html/comefo/vendor/laravel/framework/src/Illuminate/Routing/Route.php:880
    876|      */
    877|     public function prepareForSerialization()
    878|     {
    879|         if ($this->action['uses'] instanceof Closure) {
  > 880|             throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
    881|         }
    882| 
    883|         $this->compileRoute();
    884| 

  Exception trace:

  1   Illuminate\Routing\Route::prepareForSerialization()
      /var/www/html/comefo/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php:62

  2   Illuminate\Foundation\Console\RouteCacheCommand::handle()
      /var/www/html/comefo/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29

  Please use the argument -v to see more details.

1 Ответ

0 голосов
/ 09 октября 2018

Возможно, что в зависимости от выбранной вами среды Laravel кеширует ваши маршруты.

Вы можете попробовать следующие две команды в своем CLI

php artisan cache:clear
php artisan route:cache

Ссылка: Laravel Docs Artisan Cache

После этого кэш маршрута долженбыть перестроен.Если это не работает для вас, вы также можете попробовать обновить кэш композитора.

composer dump-autoload 

Ссылка: Композитор Дамп Автозагрузка документов

Вы также можете проверить этот пост: Как очистить кеширование маршрутов на сервере: Laravel 5.2.37

Пожалуйста, дайте мне знать, если у вас есть другие проблемы.Надеюсь, что это полезно для вас!

...