Laravel's deployment documentation, checked on 1 November 2026, is precise about what a server must provide and silent about how big it should be, which is the right division: the framework knows its dependencies, and only you know your traffic. This guide reads the requirements for Laravel 12, adds the sizing for a production application with queues and a database, and prices three configurations of the Laravel package on MassiveGRID PaaS, built on Virtuozzo Application Platform (formerly Jelastic).

What Laravel requires

The server requirements for Laravel 12 are PHP 8.2 or newer and a list of extensions: Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer and XML. The deployment page's Nginx configuration sends every request to public/index.php and warns never to serve the application from the project root, because that exposes the configuration files; the web server's user must be able to write to storage and bootstrap/cache. FrankenPHP is documented as an alternative application server, with Octane for long-running workers.

Deployment itself has a checklist the page spells out: php artisan optimize, which caches configuration, events, routes and views in one step (or config:cache, event:cache, route:cache and view:cache individually), APP_DEBUG=false in production without exception, the /up health route for load balancers and monitors, and php artisan reload or a process monitor to restart queue workers and Reverb after a deploy so they pick up the new code.

Laravel on MassiveGRID PaaS: one-click install, about $29.52 a month for the Starter configuration (PHP application server, 1 GiB; MySQL or MariaDB database, 512 MiB) at $0.003372 per cloudlet-hour, before volume discounts, in New York, London, Frankfurt or Singapore. 14-day free trial, no credit card. See the sizing table.

What sizes a Laravel application

Three things, and the first is usually the smallest. Web requests: a PHP-FPM pool of a few workers with OPcache serves a typical application comfortably in 1 GiB, and a cached configuration and routes cut the per-request cost further. Queue workers: each is a long-running PHP process with the whole application loaded, and a Horizon supervisor running eight of them is a gigabyte on its own; they belong on their own node once the queue matters. The database and Redis: the database sized to its working set as on any server, Redis for cache, sessions and the queue backend at a few hundred megabytes.

The three configurations on PaaS and their cost

The Laravel package installs a PHP application server with the extensions above, Composer and the Laravel skeleton, and a MySQL or MariaDB node, with a certificate. Cloudlets are 128 MiB RAM plus 400 MHz CPU, billed at $0.003372 per cloudlet-hour, $2.46 per cloudlet-month, no licence fee.

ConfigurationPHP nodeDatabaseCloudletsPer month (730 h)Fits
Starter1 GiB512 MiB12$29.52Development, a small application
Standard2 GiB1 GiB24$59.04Production with a few queue workers
ProductionLoad balancer, 2 × 2 GiB2 GiB52$127.92Traffic, Horizon, Redis

Add a Redis node (a few cloudlets) and a dedicated worker node to the Production row for an application that lives on its queues; the production post builds exactly that layout and shows the zero-downtime deploy on it. The figures are ceilings before volume discounts, and the PaaS pricing calculator prices the extra nodes.

Deploying to the node

The PHP node has SSH, Composer and the Artisan CLI, so a deploy is the sequence the Laravel page recommends: pull or push the code, composer install --no-dev --optimize-autoloader, php artisan migrate --force, php artisan optimize, then php artisan reload for the workers. The Git-Push-Deploy add-on runs that sequence on a push to a branch, which the Heroku-style deploy post configures, and a clone of the environment is the staging server that costs only for the hours it exists.

Laravel Cloud, Forge, a VPS or PaaS

Laravel's page points at Laravel Cloud for a fully managed platform and Forge for managing your own servers on a cloud provider. Both are fine answers; the trade is that Cloud is priced as a platform, Forge adds a subscription on top of whichever VPS you rent, and the package here is the VPS economics with the platform's scaling and cloning built in, billed by the hour. The VPS deployment guide is the manual route for comparison; what it costs in operator time is the part the invoice does not show.

Frequently Asked Questions

What PHP version and extensions does Laravel 12 need?

PHP 8.2 or newer with the Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer and XML extensions, per Laravel's deployment documentation checked on 1 November 2026. The package on MassiveGRID PaaS installs a PHP node with those extensions, Composer and the Laravel skeleton.

How much server does a Laravel application need?

Laravel does not publish a figure. A 1 GiB PHP node with a 512 MiB database runs a small application, 2 GiB and 1 GiB a production application with a few queue workers, and two 2 GiB nodes behind a load balancer with a 2 GiB database an application with traffic; queue workers with Horizon deserve their own node once they matter.

What does Laravel hosting cost per month?

About $29.52, $59.04 or $127.92 a month for the three configurations on MassiveGRID PaaS at $0.003372 per cloudlet-hour before volume discounts, plus a few cloudlets for Redis and a worker node when the application needs them. There is no licence fee.

A Laravel environment with the extensions already there

The Laravel package on MassiveGRID PaaS installs the PHP server with Laravel's extensions, Composer, the skeleton and a MariaDB node in one click, from about $29.52 a month, with Git-push deploys and clone-based staging. 14-day free trial, no credit card.

Laravel on PaaS

Further Reading