这是关于本地主机上的路由缓存
我的route.php 文件中有2 条路线。两者都工作正常。没问题。我在学习route:clear和route:cache时发现了一个小问题如下。
如果我在我的route.php文件中注释任何一条路由,然后运行下面的命令
php artisan route:cache
这将使路由保持禁用状态,因为路由列表现在在缓存中。现在,转到route.php 文件并尝试删除注释的路由,然后尝试运行该启用的URL。仍然会显示 404,因为我需要使用下面的命令删除缓存
php artisan route:clear
到目前为止,本地主机中的一切都已被理解。没问题。
问题:如何删除服务器上的路由缓存?
如果您想删除服务器上的路由缓存,请删除此文件:
bootstrap/cache/routes.php
如果您想更新它,只需运行
php artisan route:cache
并将 bootstrap/cache/routes.php
上传到您的服务器。
如果您从本地计算机通过 GIT 上传文件,那么当您使用 BASH 等连接到实时服务器时,您可以使用在本地计算机中使用的相同命令。您可以像在本地使用一样使用它.
php artisan cache:clear
php artisan route:cache
应该可以。
对于您的案例解决方案是:
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:clear
清除视图缓存:
php artisan view:clear
清除配置缓存:
php artisan config:clear
您可以在 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
我建议您使用
php artisan optimize
代替。
optimaze
执行以下任务:
如果您想清除服务器上的路由缓存,请打开托管提供商(例如 GoDaddy、NameCheap)提供的终端并运行以下命令:
php artisan cache:clear
php artisan route:clear
如果您无法找到终端,那么您可以创建一个路由来清除服务器上的缓存:
<?php
use Illuminate\Support\Facades\Artisan;
Route::get('/clear-cache', function () {
Artisan::call('cache:clear');
Artisan::call('route:clear');
return "Cache cleared successfully";
});
我是你使用这个工匠命令
php artisan optimize:clear
有时,如果您没有适当的权限,则会出现错误。然后您可以使用与 sudo 相同的命令
sudo php artisan optimize:clear
无需 Artisan 命令即可清除共享主机上的缓存
如何从浏览器清除路由缓存
Route::get('/route-cache', function() {
$exitCode = Artisan::call('route:cache');
return 'Routes cache cleared';
});
如何从浏览器清除配置缓存
Route::get('/config-cache', function() {
$exitCode = Artisan::call('config:cache');
return 'Config cache cleared';
});
如何从浏览器清除应用程序缓存
Route::get('/clear-cache', function() {
$exitCode = Artisan::call('cache:clear');
return 'Application cache cleared';
});
如何从浏览器清除视图缓存
Route::get('/view-clear', function() {
$exitCode = Artisan::call('view:clear');
return 'View cache cleared';
});