Pacchetto phar
Phar è un tipo di file di impacchettamento simile a JAR in PHP. Puoi usare Phar per impacchettare il progetto webman in un singolo file phar per facilitarne la distribuzione.
Un ringraziamento speciale a fuzqing per il suo PR.
Nota
È necessario disabilitare le opzioni di configurazione phar nel filephp.ini, impostandophar.readonly = 0.
Installazione del tool da riga di comando
composer require webman/console
Impacchettamento
Esegui il comando php webman build:phar nella cartella radice del progetto webman. Questo genererà un file webman.phar nella cartella build.
Le configurazioni relative all'impacchettamento sono presenti in
config/plugin/webman/console/app.php.
Comandi per avviare e interrompere
Avviare
php webman.phar start o php webman.phar start -d
Interrompere
php webman.phar stop
Verificare lo stato
php webman.phar status
Verificare lo stato della connessione
php webman.phar connections
Riavviare
php webman.phar restart o php webman.phar restart -d
Note
-
I progetti impacchettati non supportano il reload; per aggiornare il codice è necessario riavviare.
-
Per evitare un pacchetto troppo grande e un eccessivo utilizzo di memoria, puoi impostare le opzioni
exclude_patterneexclude_filesinconfig/plugin/webman/console/app.phpper escludere file non necessari. -
Dopo aver eseguito webman.phar, verrà generata una cartella
runtimenella stessa directory, utilizzata per salvare i file di log e altri file temporanei. -
Se nel progetto viene utilizzato un file .env, è necessario posizionarlo nella stessa directory di webman.phar.
-
Non memorizzare mai i file caricati dagli utenti nel pacchetto Phar, poiché operare su questi file tramite il protocollo
phar://è molto pericoloso (vulnerabilità di deserializzazione Phar). I file caricati dagli utenti devono essere memorizzati separatamente su disco, fuori dal pacchetto Phar. Vedi sotto. -
Se il tuo progetto richiede di caricare file nella cartella public, è necessario isolare la cartella public e posizionarla nella stessa directory di webman.phar. In questo caso, è necessario configurare
config/app.php.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',Puoi utilizzare la funzione di assistenza
public_path($percorso_relativo)per trovare la posizione effettiva della cartella public. -
webman.phar non supporta l'avvio di processi personalizzati in Windows.