当我将 Laravel 应用程序上传到服务器时,路由没有更新。例如,我在其他路线的最顶部添加了以下简单路线:
Route::get('/test', function () {
return 'test';
});
但是,当我打开测试时,我得到 404,而不是“测试”。由于该应用程序位于共享主机上,因此我无法运行特定命令,但是,我确实尝试过
php artisan route:clear
php artisan config:clear
php artisan cache:clear
在本地,然后重新上传引导程序和存储文件夹,但是,这并没有解决任何问题。 当然,一切都在本地运行。
感谢您的任何帮助。
您可以在
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时,它会完美工作。