Shared Hosting is very wired Hosting I have ever used. Because All things are restricted which is required for Laravel Project. You cannot install composer using the command line so you need to upload the whole vendor folder from your local machine. Also, there are many things you cannot do without the support of a Hosting Provider. There are so many restrictions to using Shared Hosting that's why we use Self Managed Cloud Hosting using ServerAvatar.
If you want to clear cache in Laravel which is hosted on Shared Hosting then this article will help you to clear cache in a shared hosting server.
Laravel - Clear Cache in Shared Hosting Server
There are different methods to clear cache in Shared Hosting Server.
1. Laravel - Clear Cache in Shared Hosting Server using Web Routes
//Clear route cache
Route::get('/route-cache', function() {
\Artisan::call('route:cache');
return 'Routes cache cleared';
});
//Clear config cache
Route::get('/config-cache', function() {
\Artisan::call('config:cache');
return 'Config cache cleared';
});
// Clear application cache
Route::get('/clear-cache', function() {
\Artisan::call('cache:clear');
return 'Application cache cleared';
});
// Clear view cache
Route::get('/view-clear', function() {
\Artisan::call('view:clear');
return 'View cache cleared';
});
// Clear cache using reoptimized class
Route::get('/optimize-clear', function() {
\Artisan::call('optimize:clear');
return 'View cache cleared';
});
2. Laravel - Clear Cache in Shared Hosting Server using Task Scheduling (Cronjob)
If you want to run it automatically at a specific time then you will have to set up cronjob first.
Open app\Console\Kernel.php
and update the following code:
protected function schedule(Schedule $schedule)
{
$schedule->command('cache:clear')->hourly();
$schedule->command('config:clear')->hourly();
$schedule->command('view:clear')->hourly();
$schedule->command('route:clear')->hourly();
$schedule->command('optimize:clear')->hourly();
}
You can set any cronjob schedule. You can refer to this document for the task scheduling in laravel. Also, You need to refer to the documentation of the Hosting Provider to Set Cronjob.
For cPanel, You can refer to this article to set Cronjob in cPanel.
Thank you for reading this article.
Latest comments (1)
Clearing cache in a Laravel project hosted on shared hosting can be challenging, but it's not impossible. You can use web routes to trigger cache-clearing commands like route cache, config cache, application cache, view cache, and reoptimized class cache. Additionally, task scheduling (Cronjob) allows you to automate cache clearing at specific intervals. Although shared hosting has limitations, it can work for smaller projects. For more control and flexibility, consider managed cloud hosting or dedicated servers.
Some comments have been hidden by the post's author - find out more