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 dans php.ini, c'est-à-dire définir phar.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 et exclude_files dans config/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.