Laravel 路线未在服务器上更新

问题描述 投票:0回答:1

当我将 Laravel 应用程序上传到服务器时,路由没有更新。例如,我在其他路线的最顶部添加了以下简单路线:

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

但是,当我打开测试时,我得到 404,而不是“测试”。由于该应用程序位于共享主机上,因此我无法运行特定命令,但是,我确实尝试过

php artisan route:clear
php artisan config:clear
php artisan cache:clear

在本地,然后重新上传引导程序和存储文件夹,但是,这并没有解决任何问题。 当然,一切都在本地运行。

感谢您的任何帮助。

laravel laravel-routing laravel-cache
1个回答
0
投票

您可以在

web.php
中创建一条路线来清除所有
caches

图案01

Route::get('/clear-cache', function() {
    $callMsg = '';

    Artisan::call('cache:clear');
    $callMsg .= "<h5 style='margin:10px 0 12px'>Cache cleared ...</h5>";

    Artisan::call('config:clear');
    $callMsg .= "<h5 style='margin:0 0 12px'>Config cleared ...</h5>";

    Artisan::call('config:cache');
    $callMsg .= "<h5 style='margin:0 0 12px'>Config Cache cleared ...</h5>";

    Artisan::call('route:cache');
    $callMsg .= "<h5 style='margin:0 0 12px'>Route Cache cleared ...</h5>";

    Artisan::call('route:clear');
    $callMsg .= "<h5 style='margin:0 0 12px'>Routes cleared ...</h5>";

    Artisan::call('view:cache');
    $callMsg .= "<h5 style='margin:0 0 12px'>View Cache cleared ...</h5>";

    Artisan::call('optimize');
    $callMsg .= "<h5 style='margin:0 0 12px'>Site optimized ...</h5>";

    return $callMsg;
});

图案02

Route::get('/clear-cache', function () {
    $cacheCommands = array(
        // 'event:clear',
        'view:clear',
        'cache:clear',
        'route:clear',
        'config:clear',
        'clear-compiled',
        'optimize:clear'
    );

    foreach ($cacheCommands as $command) {
        Artisan::call($command);
    }

   return "Cache cleared successfully";
});

当您想使用

Laravel Commands
清除服务器端的缓存时,只需按如下所示的 URL

http(s)://www.foo-boo.com/clear-cache

它对我来说非常有效。 让我知道它是否适合您。

注意:第一次,它会给你404错误,但是当第二次点击相同的url时,它会完美工作。

© www.soinside.com 2019 - 2024. All rights reserved.