Key facts
- Recent Laravel releases need PHP 8.2 or newer, set per site in Plesk
- Document root on public/, so .env, vendor and storage are never web-accessible
- php artisan schedule:run every minute from a Plesk scheduled task
- Database queue driver processed by the scheduler fits the standard plan
- Git deployment with composer install and artisan migrate --force on deploy
- Redis, Horizon, Reverb and Supervisor-managed workers on a quoted managed VPS
- £1 a day + VAT with daily backups and free SSL
Laravel hosting, configured the Laravel way
Laravel is easy to run badly. Upload it to a generic host with the document root in the wrong place and your .env file, with every password and API key, can end up downloadable. We set Laravel up properly from the start:
- Document root pointed at public/, with everything else outside the web root.
- PHP 8.2 or newer, chosen per site, with the extensions Laravel lists: BCMath, Ctype, cURL, DOM, Fileinfo, Mbstring, OpenSSL, PCRE, PDO, Tokenizer and XML.
- Writable storage/ and bootstrap/cache/ owned by the site's own system user, and php artisan storage:link for public uploads.
- Production settings: APP_ENV=production and APP_DEBUG=false, so stack traces never reach visitors.
- MySQL or MariaDB databases created in Plesk, with phpMyAdmin when you need to look at data.
The scheduler and queues
Laravel's scheduler needs one cron entry: php artisan schedule:run every minute. We add it as a Plesk scheduled task, and everything you define in your schedule then runs on time.
Queues are where hosting choices matter. On the standard plan, the database queue driver works well for typical small-business jobs such as sending emails, generating PDFs and syncing with an API. Workers are started from the scheduler with queue:work --stop-when-empty, so jobs are picked up within a minute without a permanently running process.
If your app needs jobs processed instantly, many workers in parallel, Redis, Laravel Horizon or Reverb for WebSockets, it needs processes kept alive by Supervisor. That belongs on a managed VPS, which we quote.
Deploying your Laravel app
Plesk includes Git deployment, so you can push to your repository and pull to the server. A typical deploy runs:
- composer install --no-dev --optimize-autoloader
- php artisan migrate --force
- php artisan config:cache, route:cache and view:cache
- php artisan queue:restart, so workers pick up new code
Your developer can script these as deploy actions in Plesk. If you'd rather not touch it, we can set it up once and leave it running.
What fits the plan and what needs a VPS
| Your Laravel app | Where it fits |
|---|---|
| Business website, admin panel or internal tool | dijitul Complete Hosting |
| Scheduler, emails, PDFs, light queued jobs | dijitul Complete Hosting |
| Livewire or Inertia app with modest traffic | dijitul Complete Hosting |
| Redis, Horizon, many queue workers | Quoted managed VPS |
| Real-time features with Reverb or Pusher-style WebSockets | Quoted managed VPS |
| A SaaS product with paying customers | Quoted, see SaaS hosting |
Older Laravel applications
Many businesses have a Laravel 5 or 6 app built years ago by a developer who has since moved on. Those versions need PHP 7.x, which we can run per site in isolation where our platform supports it. Upgrading through Laravel versions is very achievable but needs care with packages that were abandoned along the way. We can host the app as it is and quote for the upgrade. See legacy PHP hosting and abandoned website takeover.
Frequently asked questions
Where can I host a Laravel app in the UK?
dijitul hosts Laravel apps on managed UK Plesk hosting with PHP 8.2 or newer, Composer, Git deploys, the scheduler on cron and database queues, for £1 a day + VAT. Apps that need Redis, Horizon, Reverb or Supervisor-managed workers are hosted on a quoted managed VPS.
Can Laravel run on shared hosting?
Yes, if the host lets you set the document root to public/, run cron every minute, use Composer and choose a recent PHP version. Long-running queue workers are the main limitation, so use the database driver with workers started from the scheduler. dijitul's Plesk hosting supports this setup.
How do I run Laravel queues without Supervisor?
Use the database queue driver and schedule php artisan queue:work --stop-when-empty to run every minute from Laravel's scheduler. Jobs are processed within a minute without a permanent process. For instant processing or high volumes, use Supervisor on a VPS, which dijitul can quote for.
What PHP version does Laravel need?
Recent Laravel releases need PHP 8.2 or newer. Older Laravel 5 and 6 apps need PHP 7.x. On dijitul hosting the PHP version is set per site in Plesk, so old and new apps can run side by side.
Why is my Laravel .env file a security risk?
If the web server's document root is the project folder rather than public/, the .env file can be downloaded by anyone, exposing database passwords and API keys. Always point the document root at public/. dijitul sets this up for every Laravel site we host.
Related
Set it up and forget about it
Managed hosting, Plesk, Cloudflare DNS, daily backups and your domain for £1 a day + VAT. We move your site for you.