Skip to main content

Cos’è Octane

Laravel Octane è un pacchetto che migliora drasticamente le prestazioni di Laravel usando application server ad alte prestazioni. Con PHP-FPM l’app parte e termina a ogni richiesta. Con Octane l’app parte una volta e resta in memoria: le richieste successive sono molto più veloci. La differenza principale con PHP-FPM: il bootstrap (service provider, ecc.) non si ripete per ogni richiesta.

Server supportati

Laravel Cloud offre Octane con FrankenPHP completamente gestito.

Installazione

Il prompt ti fa scegliere il server; viene creato config/octane.php.

FrankenPHP / RoadRunner

Octane scarica il binario. Nessun passo aggiuntivo.

Swoole

Per Open Swoole:

Avvio

Porta di default 8000.

Worker

Con Swoole e task worker:

Watch file

Serve Node.js e Chokidar.

Comandi

Attenzioni con la DI

Il codice resta in memoria: register/boot dei service provider vengono eseguiti una sola volta all’avvio.

Iniezione del container

L’helper globale app() e Container::getInstance() restituiscono sempre l’ultimo container.

Iniezione della request

I type hint di Illuminate\Http\Request nei metodi controller/route sono sicuri. request() restituisce sempre la richiesta corrente.

Iniezione del config repository

L’helper config() restituisce sempre l’ultimo.

Memory leak

Attenzione a static che accumulano dati:

max-requests

Riavvia i worker dopo N richieste (default 500):

Tempo massimo di esecuzione

In config/octane.php (default 30s):
Riavvia Octane dopo modifiche.

Task concorrenti (solo Swoole)

Task worker con --task-workers.
Max 1024 task per chiamata (limite Swoole).

Tick e Interval (solo Swoole)

Octane cache (solo Swoole)

Fino a 2 milioni di ops/s.

Interval cache

I dati si perdono al riavvio.

Tabelle Swoole (solo Swoole)

In config/octane.php sezione tables:
Tipi supportati: string, int, float. I dati si perdono al riavvio.

Produzione

Nginx + Octane

Supervisor

HTTPS

Laravel Cloud

1

Installa il pacchetto

2

Attiva Octane in Laravel Cloud

Nel cluster compute App attiva “Use Octane as runtime”, salva e deploya.
Vedi la documentazione Laravel Cloud.

Reload dopo il deploy

Ultima modifica il 13 luglio 2026