Introduzione
laravel/multiplex è una terminal UI (TUI) che permette di eseguire più comandi contemporaneamente. È utilizzato da php artisan dev di Laravel 13 e permette di gestire in un unico terminale i processi necessari allo sviluppo locale, come server di sviluppo PHP, worker delle code, monitoraggio dei log e Vite.
L’output di ogni processo viene mostrato in una tab e sono supportate la ricerca e lo scroll dell’output. All’uscita, l’output di ogni processo viene riscritto nello scrollback del terminale, così puoi consultare i log anche dopo aver terminato la TUI.
Installazione ed esecuzione diretta
Nelle applicazioni Laravelphp artisan dev esegue automaticamente la configurazione necessaria, quindi in genere non serve installare Multiplex direttamente. Per usarlo in modo autonomo, prepara Node.js 22.13 o superiore e installalo con npm.
label,command.
TUI e modalità inline
Se stdin e stdout sono un TTY viene avviata la TUI a tab. Cons puoi passare alla vista in streaming, con / puoi cercare nell’output e con r puoi riavviare il processo selezionato. Per uscire usa q.
In assenza di un TTY, come su CI o in una pipeline, viene attivata automaticamente la modalità inline. A ogni riga viene aggiunta l’etichetta del processo e l’output viene stampato nell’ordine in cui arriva. Per forzare la modalità inline in modo esplicito, usa -i.
--json.
Riavvio automatico e gestione della terminazione
I processi che vanno in crash vengono riavviati automaticamente, dopo un secondo di attesa, fino a un massimo di cinque volte. I processi che escono entro un secondo dall’avvio non vengono ritentati, perché è probabile che non riescano a partire (per esempio a causa di un eseguibile mancante o di un conflitto sulla porta). Per comandi da eseguire una sola volta, come build o migrazioni, specifica--no-restart.
Note
Ai processi figli non viene passato lo stdin. Per questo motivo, comandi che richiedono input comephp artisan tinker o le conferme durante le migrazioni non possono essere eseguiti da Multiplex. Esegui i comandi interattivi in un altro terminale.
Multiplex mette a disposizione anche un’API programmatica, ma i comandi vengono eseguiti tramite sh -c. Non incorporare valori non affidabili, come file di configurazione o dati di richiesta, nelle stringhe dei comandi.