Emballage phar
phar est un fichier d'emballage similaire à JAR dans PHP, vous pouvez utiliser phar pour empaqueter votre projet webman en un seul fichier phar, ce qui facilite le déploiement.
Un grand merci ici à fuzqing pour son PR.
Attention
Vous devez désactiver l'option de configuration phar dansphp.ini
, c'est-à-dire définirphar.readonly = 0
Installer l'outil de ligne de commande
composer require webman/console
Emballage
Exécutez la commande php webman build:phar
dans le répertoire racine du projet webman.
Cela générera un fichier webman.phar
dans le répertoire bulid.
La configuration d'emballage est dans
config/plugin/webman/console/app.php
Commandes liées au démarrage et à l'arrêt
Démarrer
php webman.phar start
ou php webman.phar start -d
Arrêter
php webman.phar stop
Vérifier l'état
php webman.phar status
Vérifier l'état des connexions
php webman.phar connections
Redémarrer
php webman.phar restart
ou php webman.phar restart -d
Remarques
-
Le projet emballé ne prend pas en charge le reload, il faut redémarrer pour mettre à jour le code.
-
Pour éviter que la taille du fichier d'emballage ne devienne trop importante et n'occupe trop de mémoire, vous pouvez configurer les options
exclude_pattern
etexclude_files
dansconfig/plugin/webman/console/app.php
pour exclure les fichiers non nécessaires. -
Lorsque vous exécutez webman.phar, un répertoire runtime sera généré dans le répertoire où se trouve webman.phar, pour stocker les journaux et autres fichiers temporaires.
-
Si votre projet utilise un fichier .env, vous devez placer le fichier .env dans le répertoire où se trouve webman.phar.
-
Ne stockez jamais les fichiers téléchargés par les utilisateurs dans le package phar, car il est très dangereux de manipuler les fichiers téléchargés par les utilisateurs avec le protocole
phar://
(vulnérabilité de désérialisation phar). Les fichiers téléchargés par les utilisateurs doivent être stockés séparément sur le disque en dehors du package phar, voir ci-dessous. -
Si votre entreprise nécessite de télécharger des fichiers dans le répertoire public, vous devez séparer le répertoire public et le placer dans le répertoire où se trouve webman.phar, vous devrez alors configurer
config/app.php
.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',
L'entreprise peut utiliser la fonction d'assistance
public_path($chemin relatif au fichier)
pour trouver la position réelle du répertoire public. -
Notez que webman.phar ne prend pas en charge l'activation de processus personnalisés sous Windows.