如何清除服务器上的路由缓存:Laravel 5.2.37

问题描述 投票:25回答:4

这是关于localhost上的路由缓存

About Localhost

我的route.php文件中有2条路由。两者都很好。没问题。我正在学习路线:清除和路由:缓存并发现下面的一个小问题。

如果我在我的route.php文件中注释任何一个路由,然后运行下面的命令

php artisan route:cache

这将保持路由禁用,因为路由列表现在位于缓存中。现在,转到route.php文件并尝试删除已注释的路由,然后尝试运行该已启用的URL。仍然会显示404因为我需要使用下面的命令删除缓存

php artisan route:clear

到目前为止,一切都在localhost中被理解。没问题。

After deploying on shared hosting server on godaddy

问题:如何删除服务器上的路由缓存?

laravel laravel-5 laravel-5.1 laravel-5.2
4个回答
26
投票

如果要删除服务器上的路由缓存,请删除此文件:

bootstrap/cache/routes.php

如果你想更新它,只需运行php artisan route:cache并将bootstrap/cache/routes.php上传到你的服务器。


17
投票

如果您是通过GIT从本地计算机上传文件,那么当您使用BASH或类似的东西连接到实时服务器时,您可以使用在本地计算机上使用的相同命令。您可以像在本地使用一样使用它。

php artisan cache:clear

php artisan route:cache

它应该工作。


8
投票

对于您的案例解决方案是:

php artisan cache:clear
php artisan route:cache

优化路线装载是生产必须的:

如果要构建具有多个路由的大型应用程序,则应确保在部署过程中运行route:cache Artisan命令:

php artisan route:cache

此命令将所有路由注册减少为缓存文件中的单个方法调用,从而在注册数百个路由时提高了路由注册的性能。

由于此功能使用PHP序列化,因此您只能缓存专门使用基于控制器的路由的应用程序的路由。 PHP无法序列化闭包。

Laravel 5清除来自路由,视图,配置和来自应用程序的所有缓存数据的缓存

我想分享我的经验和解决方案。当我使用gitlab在我的laravel电子商务网站上工作时。我突然发现一个问题,我的视图缓存在开发期间出错。我确实尝试了很多刷新和其他东西但我在视图中看不到任何更改,但最后我确实使用laravel命令解决了我的问题所以,让我们看看我添加了几个命令清除缓存来自视图,路由,配置等等

重新优化的类加载器:

php artisan optimize

清除缓存外观值:

php artisan cache:clear

清除路由缓存:

php artisan route:cache

清除视图缓存:

php artisan view:clear

清除配置缓存:

php artisan config:cache

2
投票

你可以在web.php中定义一个路由

Route::get('/clear/route', 'ConfigController@clearRoute');

并使ConfigController.php像这样

   class ConfigController extends Controller
{
    public function clearRoute()
    {
        \Artisan::call('route:clear');
    }
}

并在服务器示例http://your-domain/clear/route上转到该路由

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