phar packaging
phar è un tipo di file di pacchetto in PHP simile a JAR. Puoi utilizzare phar per impacchettare il tuo progetto webman in un singolo file phar, facilitando la distribuzione.
Un ringraziamento speciale a fuzqing per la sua PR.
Attenzione
Devi disattivare l'opzione di configurazione phar inphp.ini
, impostandophar.readonly = 0
Installazione dello strumento da riga di comando
composer require webman/console
Imballaggio
Esegui il comando php webman build:phar
nella directory radice del progetto webman.
Verrà generato un file webman.phar
nella directory bulid.
Le configurazioni relative all'imballaggio si trovano in
config/plugin/webman/console/app.php
Comandi relativi all'avvio e all'arresto
Avviare
php webman.phar start
oppure php webman.phar start -d
Arrestare
php webman.phar stop
Controllare lo stato
php webman.phar status
Controllare lo stato delle connessioni
php webman.phar connections
Riavviare
php webman.phar restart
oppure php webman.phar restart -d
Note
-
I progetti impacchettati non supportano il reload, aggiornare il codice richiede un riavvio.
-
Per evitare che il file di pacchetto occupi troppo spazio e memoria, puoi impostare le opzioni
exclude_pattern
eexclude_files
inconfig/plugin/webman/console/app.php
per escludere i file non necessari. -
Dopo aver eseguito webman.phar, verrà creata una directory runtime nella directory contenente webman.phar, utilizzata per memorizzare log e altri file temporanei.
-
Se il tuo progetto utilizza un file .env, assicurati di collocare il file .env nella directory contenente webman.phar.
-
Non memorizzare mai i file caricati dagli utenti nel pacchetto phar, poiché operare sui file caricati dagli utenti con il protocollo
phar://
è molto pericoloso (vulnerabilità di deserializzazione di phar). I file caricati dagli utenti devono essere archiviati separatamente su disco al di fuori del pacchetto phar, vedi sotto. -
Se la tua attività richiede di caricare file nella directory public, devi isolare la directory public e collocarla nella directory contenente webman.phar. In questo caso, è necessario configurare
config/app.php
.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',
Le attività possono utilizzare la funzione helper
public_path($posizione relativa del file)
per trovare la posizione effettiva della directory public. -
Nota che webman.phar non supporta l'avvio di processi personalizzati su Windows.