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

Sovrascrivere il server locale di php artisan dev

Quando Octane è installato, anche il processo server di php artisan dev potrebbe essere configurato per usare Octane. Se vuoi usare Octane in produzione su Laravel Cloud ma il classico php artisan serve in locale, ri-registra il comando server nel metodo register dell’AppServiceProvider.
Con questa modifica, eseguendo php artisan dev il processo server locale viene avviato tramite php artisan serve. Su Laravel Cloud puoi mantenere Octane abilitato come runtime.
Ultima modifica il 21 agosto 2026