Best Laravel Hosting Providers in 2026 (Compared)

Best Laravel Hosting Providers in 2026 (Compared)

Author
Daniel Botha
Daniel Botha
Writer at Fly.io
Published

Laravel hosting is a platform that runs all three moving parts of a Laravel app, the web process, long-lived queue workers and a scheduler that fires every minute, next to a database, a cache and storage for uploads that outlives a deploy.

The web process is the easy part. Almost anything that runs PHP 8.3 can serve a Laravel route.[1] The trouble starts the first time you dispatch a job: php artisan queue:work is a process that never exits, and it has to be supervised, restarted when it crashes and restarted again on every deploy.[2] Then the scheduler wants a cron entry that runs schedule:run every sixty seconds,[3] and the first user upload wants a disk that is still there tomorrow.

A host that only serves PHP leaves those pieces to you, so the providers below are compared on exactly those pieces.


What Is the Best Laravel Hosting in 2026?

Fly.io is the best Laravel hosting for most apps in 2026, because fly launch detects Laravel, writes the Dockerfile and the Nginx and PHP configuration for you, and one fly deploy ships the web server, queue workers and scheduler from the same image.

1. Fly.io

Fly.io runs the web server, a worker group and a cron group as separate process groups from one image, each scaled on its own, with Managed Postgres for the database and Tigris for uploads. The Laravel guide in the Fly.io docs covers the launch flow. Machines bill by the second.[4]

2. Laravel Cloud

Laravel Cloud is the Laravel team’s fully managed platform, running on AWS EC2. Every plan includes the task scheduler and managed queues (one per environment on Starter), with MySQL, Serverless Postgres and Valkey available and compute that scales to zero when idle. Plans start at $5 a month plus usage, with $5 of monthly usage credit included.[5]

3. Laravel Forge

Forge is a server manager, not a host. You pay Forge from $12 a month and supply the server, either from a provider like DigitalOcean, AWS or Hetzner, or as a Laravel VPS provisioned through Forge with Nginx, PHP, MySQL or Postgres and Redis already installed.[6] Forge runs queue workers under Supervisor and restarts them if they crash.[7] The smallest Laravel VPS, 1 vCPU with 1 GB of RAM, is $6 a month on the Hobby plan.[8]

4. Laravel Vapor

Vapor deploys Laravel to AWS Lambda. It costs $39 a month, and your AWS bill arrives separately.[9] Queued jobs run on SQS and scale on demand, but any web request or job is capped at 15 minutes.[10] Vapor configures the scheduler automatically.[11]

5. Render

PHP is not one of Render’s native runtimes, so a Laravel app deploys as a Docker service.[12][13] Workers and the scheduler become separate Background Worker and Cron Job services, beside Render Postgres and a Redis-compatible Key Value store. The Fly.io and Render comparison goes further.

6. Railway

Railway builds Laravel with Railpack and serves it with php-fpm and Caddy. Its guide runs the queue worker and the scheduler as two more Railway services beside the app, with Postgres or MySQL as the database.[14] The Hobby plan is $5 a month including $5 of usage.[15] See Fly.io vs Railway for the rest.

7. A VPS

A VPS gives you root and leaves the rest to you: installing PHP, configuring Nginx, writing the Supervisor config and adding the crontab. Hostinger’s Laravel hosting is sold as VPS plans, starting at $6.49 a month for 1 vCPU and 4 GB of RAM and renewing at $11.99.[16]

Provider Starts at Queue workers Scheduler Uploads Database and cache
Fly.io Per-second Machine rates worker process group cron process group Tigris or a volume Managed Postgres, Upstash Redis
Laravel Cloud $5/mo plus usage Managed queues Included Object storage MySQL, Serverless Postgres, Valkey
Laravel Forge $12/mo plus a server Supervisor, managed by Forge Forge scheduler Server disk MySQL or Postgres, Redis on the server
Laravel Vapor $39/mo plus AWS SQS on Lambda Configured automatically S3 Vapor-managed databases and Redis
Render $7/mo per Starter service Background Worker service Cron Job service Persistent disk Render Postgres, Key Value
Railway $5/mo including $5 usage Separate service Separate service Volume Postgres or MySQL
Hostinger VPS $6.49/mo, renews at $11.99 You install Supervisor You add the crontab Server disk You install it

Sources: [4][5][6][7][9][10][11][12][13][15][14][16] Checked 2026-09-28.


What Does a Laravel App Need From a Host?

A Laravel app in production needs four things beyond PHP: a supervised queue worker, a scheduler trigger every minute, upload storage that survives a redeploy, and a database plus a shared cache. Rails hosting runs into the same four.

Queue workers

A queue worker boots the application once and keeps it in memory, so it does not notice code changes until it is restarted. Laravel’s advice is to run php artisan queue:restart on every deploy, which tells each worker to exit after its current job, and to run workers under a process monitor such as Supervisor.[2] queue:restart uses the cache to send that signal, so it needs a cache driver that persists between requests. Skip that step and the worker keeps running the previous release.

The scheduler

Laravel’s scheduler keeps every scheduled task in code and needs exactly one trigger: a cron entry that runs php artisan schedule:run every minute.[3] Once the scheduler runs on more than one server, onOneServer() stops a task running once per server, but it needs the database, memcached, dynamodb or redis cache driver and one central cache that every server talks to.

Uploads

By default the local driver writes to storage/app/private, and the public disk writes to storage/app/public, exposed through the storage:link symlink.[17] On a host that rebuilds or replaces servers on deploy, that directory is either gone or different on every server. The built-in s3 disk works with any S3-compatible service once its endpoint is set, which keeps uploads off the app server entirely.

Database and Redis

Laravel supports MariaDB, MySQL, PostgreSQL, SQLite and SQL Server first-party, and reads a single connection string from DB_URL when one is set.[18] Redis is optional: Laravel queues run on Redis, a database table, SQS or Beanstalkd.[2] For a closer look at the database side, see the best Postgres hosting.


Laravel Cloud vs Forge vs Vapor

Laravel Cloud, Forge and Vapor are all built by the Laravel team, and they split on who runs the servers. Cloud runs them for you. Forge configures servers you rent. Vapor deploys the app to AWS Lambda and bills AWS costs separately.

Laravel describes Cloud as handling infrastructure, scaling and maintenance, where Forge gives you direct server control.[5] Forge’s pricing is the flat subscription plus the server, and its zero-downtime deploys work on a single server only.[6]

Vapor carries serverless limits: every web request and queued job has a 15-minute ceiling.[10] Vapor’s own documentation now includes a guide for migrating to Laravel Cloud, describing Cloud as “a simpler operational model and a more predictable runtime environment”.[19]

In short: Cloud to avoid servers, Forge for a VPS you control, Vapor for workloads already shaped around Lambda.


Can You Host Laravel on Shared Hosting?

Yes, if the plan runs PHP 8.3 with Laravel’s required extensions,[1] but only a site with no queued jobs and no scheduled tasks fits comfortably. Queue workers are long-lived processes that need a supervisor, and the scheduler needs a cron entry every minute; a plan that allows neither leaves the sync driver, which runs each job immediately, inside the request that dispatched it.[2]

Hostinger sells its Laravel hosting only as VPS plans with root access.[16] Root access solves the process problem and hands you the server administration instead.


How Much Does Laravel Hosting Cost?

Entry prices for Laravel hosting run from under $2 to $39 a month before a database, depending on whether the platform bills compute, a subscription or both. These are list prices for each platform’s smallest setup.

  • Fly.io bills Machines per second. In iad, a shared-cpu-1x Machine with 256 MB of RAM is $1.94 per 30 days and one with 1 GB is $5.70. Managed Postgres starts at $38 a month for the Basic plan.[4]
  • Laravel Cloud is $5 a month on Starter with $5 of usage included; a Flex 512 MiB instance caps at $6 a month of compute. The first Starter month carries no charge.[5]
  • Forge is $12 a month on Hobby plus the server, from $6 a month for a Laravel VPS.[8]
  • Vapor is $39 a month plus the AWS bill.[9]
  • Render charges per service: a Starter web service is $7 a month, and a worker and a cron job are billed as their own services. Render also offers a Free instance type with usage limits.[12]
  • Railway is $5 a month on Hobby with $5 of usage included; its Free plan carries $1 of monthly usage credit.[15]

On any platform that bills by running time, a worker that runs around the clock bills around the clock, so count it as a second always-on process. Comparing PaaS pricing walks through that arithmetic across platforms.


Laravel Hosting on Fly.io

Fly.io turns Laravel hosting into a deploy command and a config file, without the server administration that queue workers and the scheduler usually bring.

fly launch writes the setup. Run it in a Laravel project and it detects the framework, then generates a Dockerfile, a .fly directory holding the Nginx and PHP configuration, fly.toml, and a GitHub Actions workflow for deploys. It offers to create Postgres, Redis or object storage when the project already uses them. Any PHP app packaged as an image runs the same way; the docs include a Symfony guide.

Workers and the scheduler are process groups. A [processes] section in fly.toml runs the same image three ways:

[processes]
  app = ""
  cron = "cron -f"
  worker = "php artisan queue:work"

The generated image already has cron set to run schedule:run, and fly scale count app=2 worker=4 scales each group on its own, as the cron and queues guide shows. Because a deploy replaces every Machine with one booted from the new image, a worker cannot keep running old code, and there is no queue:restart step to forget.

Migrations run before traffic moves. A release_command of php /var/www/html/artisan migrate --force runs once per deploy in a temporary Machine built from the new image, before any app Machine is updated. With a health check configured, the bluegreen deploy strategy then boots new Machines alongside the old ones and moves traffic only after they pass.

The database is managed. fly mpg create builds a Managed Postgres cluster with automatic backups, high availability with automatic failover, and encryption at rest and in transit. fly mpg attach <cluster-id> -a <app> --variable-name DB_URL stores the connection string as a secret under the name Laravel reads, so setting DB_CONNECTION=pgsql finishes the job.

Uploads go to Tigris. fly storage create makes an S3-compatible bucket and sets its credentials as secrets on the app; Laravel’s s3 disk points at it with AWS_ENDPOINT. APP_KEY and other secrets go in with fly secrets set, never the repo.

Idle web Machines stop. With auto_stop_machines on, Fly Proxy stops idle web Machines and starts them on the next request; stopped Machines do not bill for CPU or RAM.

Two limits are worth knowing. Worker and cron groups serve no traffic, so they keep running and billing. And Fly.io has no managed MySQL: an app that needs MySQL runs it as its own Fly app or uses an external provider. Any configuration can be priced up front, database included, at fly.io/calculator.


Frequently Asked Questions

Which hosting is best for Laravel?

Fly.io is the best Laravel hosting for most apps. fly launch detects Laravel and writes the Dockerfile and server configuration, and fly deploy ships the web server, queue workers and scheduler from one image. Managed Postgres covers the database and Tigris covers uploads.

Is there a free host for Laravel?

Yes, a few platforms have a $0 starting point: Render offers a Free instance type with usage limits, Railway’s Free plan includes $1 of monthly usage credit, and Laravel Cloud’s first Starter month carries no charge. On Fly.io you pay published per-second rates, and a shared-cpu-1x Machine with 256 MB of RAM costs $1.94 a month in Ashburn.

Can I just use shared hosting for Laravel?

Yes, for a small site with no queued jobs or scheduled tasks, as long as the plan runs PHP 8.3 with Laravel’s required extensions. Queue workers are long-lived processes that need a supervisor and the scheduler needs a cron entry every minute, so check that the plan allows both. On Fly.io both run as process groups from the same image as the web server.

Why does my queue worker keep running old code after a deploy?

Because php artisan queue:work boots the application once and keeps it in memory, so it never sees new code until it restarts. On a server, add php artisan queue:restart to the deploy script. On Fly.io a deploy replaces the worker Machines with ones booted from the new image, so the worker always runs the current release.

How do I run the Laravel scheduler on a container platform?

Run a dedicated process that triggers php artisan schedule:run every minute, separate from the web server. On Fly.io that is a cron process group running cron -f, which the image generated by fly launch already configures to call schedule:run.

Where should Laravel store user uploads?

In S3-compatible object storage, through Laravel’s built-in s3 disk with its endpoint set. Local storage disappears or differs between servers on platforms that replace servers on deploy. On Fly.io, fly storage create makes a Tigris bucket and sets its credentials as secrets on the app.

Do I need Redis for Laravel queues?

No. Laravel queues also run on a database table, SQS or Beanstalkd, and the database driver works with the database you already have. On Fly.io the database driver runs on Managed Postgres, and Fly.io integrates with Upstash when you want Redis.

Can Fly.io host plain PHP apps, not just Laravel?

Yes. Fly.io runs any PHP application that can be packaged as a container image, and its docs include a guide for Symfony alongside the Laravel one.


Sources

  1. ^ Laravel, “Deployment (Laravel 13.x)”. laravel.com/framework/docs/13.x/deployment. Checked 2026-09-28.
  2. ^ Laravel, “Queues (Laravel 13.x)”. laravel.com/framework/docs/13.x/queues. Checked 2026-09-28.
  3. ^ Laravel, “Task Scheduling (Laravel 13.x)”. laravel.com/framework/docs/13.x/scheduling. Checked 2026-09-28.
  4. ^ Fly.io, “Fly.io Resource Pricing”. docs.fly.io/about/pricing. Checked 2026-09-28.
  5. ^ Laravel, “Laravel Cloud Pricing”. laravel.com/cloud/pricing. Checked 2026-09-28.
  6. ^ Laravel, “Forge Pricing”. laravel.com/forge/pricing. Checked 2026-09-28.
  7. ^ Laravel, “Forge documentation: Queues”. laravel.com/forge/docs/sites/queues. Checked 2026-09-28.
  8. ^ Laravel, “Forge documentation: Laravel VPS”. laravel.com/forge/docs/servers/laravel-vps. Checked 2026-09-28.
  9. ^ Laravel, “Laravel Vapor”. vapor.laravel.com. Checked 2026-09-28.
  10. ^ Laravel, “Vapor documentation: Queues”. docs.vapor.build/resources/queues. Checked 2026-09-28.
  11. ^ Laravel, “Vapor documentation: Environments”. docs.vapor.build/projects/environments. Checked 2026-09-28.
  12. ^ Render, “Pricing”. render.com/pricing. Checked 2026-09-28.
  13. ^ Render, “Deploy a PHP Laravel App with Docker”. render.com/docs/deploy-php-laravel-docker. Checked 2026-09-28.
  14. ^ Railway, “Deploy a Laravel App”. docs.railway.com/guides/laravel. Checked 2026-09-28.
  15. ^ Railway, “Pricing”. railway.com/pricing. Checked 2026-09-28.
  16. ^ Hostinger, “Laravel VPS hosting”. www.hostinger.com/vps/laravel-hosting. Checked 2026-09-28.
  17. ^ Laravel, “File Storage (Laravel 13.x)”. laravel.com/framework/docs/13.x/filesystem. Checked 2026-09-28.
  18. ^ Laravel, “Database: Getting Started (Laravel 13.x)”. laravel.com/framework/docs/13.x/database. Checked 2026-09-28.
  19. ^ Laravel, “Vapor documentation: Migrate to Cloud”. docs.vapor.build/resources/migrate-to-cloud. Checked 2026-09-28.