Skip to main content

Overview

Laravel Cloud supports four runtimes: PHP for Laravel and Symfony applications, JavaScript (Node.js, Bun, or Deno) for Next.js, Nuxt, Express, and Hono applications, Go for Go applications, and Python for Django, FastAPI, Flask, and other Python applications. Each runtime determines which versions, extensions, and platform features are available to your application.

PHP runtime

The PHP runtime is used by Laravel, Symfony, and other PHP applications. Supported versions: PHP 8.2, 8.3, 8.4, and 8.5. PHP 8.5 is the default for new environments. To select your PHP version, open your environment’s General Settings page and choose the version under the Runtime section. A re-deployment is required for the change to take effect.
PHP 8.5 is generally available, but the pdo_sqlsrv extension is temporarily unavailable until the upstream project adds 8.5 support. Use PHP 8.2, 8.3, or 8.4 if you need that extension today.

Node.js, Bun, and Deno runtimes

Next.js and Nuxt applications can run on the Node.js, Bun, or Deno runtime. Laravel Cloud infers which one to use by analyzing the configuration files present in your repository: Supported versions: The Node.js version is selectable: open your environment’s General Settings page and choose the version under the Runtime section. A re-deployment is required for the change to take effect. Bun and Deno applications run on a fixed version and do not offer version selection.

Go runtime

The Go runtime is used by Go applications. Laravel Cloud detects a Go application from a go.mod file at the root of your repository; there’s no separate framework detection, since Go applications are built and run as a single compiled binary. Supported versions: Go 1.24, 1.25, and 1.26. Go 1.26 is the default for new environments. Laravel Cloud reads your Go version from the go directive at the top of your go.mod file:
There’s no Go version selector in the dashboard. If your go.mod pins a version outside the supported range, Laravel Cloud builds on the default version instead and logs a warning during the build. Update the go directive in go.mod to control which version is used.

Python runtime

The Python runtime is used by Django, FastAPI, Flask, and other Python applications. Laravel Cloud detects a Python application from a pyproject.toml, requirements.txt, Pipfile, or setup.py file, and further detects Django, FastAPI, or Flask when one of those packages appears in your dependencies. Applications that don’t use a recognized framework are still supported as generic Python applications. Supported versions: Python 3.10, 3.11, 3.12, and 3.13. Python 3.12 is the default for new environments. Laravel Cloud reads your Python version from a .python-version file, falling back to the requires-python constraint in pyproject.toml when no .python-version file is present:
There’s no Python version selector in the dashboard. If a detected version is outside the supported range, Laravel Cloud builds on the default version instead and logs a warning during the build.

Feature availability by runtime