Considérations de programmation
Système d'exploitation
webman prend en charge l'exécution sur les systèmes linux et windows. Cependant, comme workerman ne prend pas en charge la configuration de multiprocessus et le mode de démon sous Windows, il est donc recommandé d'utiliser le système Windows uniquement pour le développement et le débogage en environnement de développement, et d'utiliser le système Linux en environnement de production.
Méthode de démarrage
Système linux
php start.php start
Cette commande est en mode de débogage, généralement utilisée lors du développement. Le processus de contrôle de mise à jour détectera automatiquement le rechargement, et les données seront affichées dans le terminal. Une fois le terminal fermé, webman se fermera également automatiquement.
php start.php start -d
Cette commande est en mode démon. Elle est utilisée en environnement de production, et webman continuera à fonctionner après la fermeture du terminal, sans afficher de données dans le terminal. Pour mettre à jour le code, vous devez exécuter php start.php reload
ou php start.php restart -d
.
Système windows
Exécutez windows.bat
ou utilisez la commande php windows.php
pour démarrer, appuyez sur ctrl c pour arrêter.
Le système Windows ne prend pas en charge les commandes stop, reload, status, reload connections, etc.
Windows ne prend pas en charge le mode démon.
Résidence en mémoire
webman est un framework resident en mémoire. En général, une fois le fichier PHP chargé, il réside en mémoire sous forme d'opcode et ne sera pas relu à partir du disque (à l'exception des fichiers de modèle).
Ainsi, après un changement de code métier ou de configuration en environnement de production, vous devez exécuter php start.php reload
pour que les changements prennent effet.
Si vous modifiez des configurations liées aux processus ou installez un nouveau package composer, vous devez redémarrer avec php start.php restart
.
Pour faciliter le développement, webman comprend un processus de surveillance personnalisé pour contrôler la mise à jour des fichiers métier. Lorsqu'un fichier métier est mis à jour, un rechargement sera automatiquement exécuté.
Cette fonctionnalité n'est activée que lorsque workerman fonctionne en mode de débogage (lors du démarrage sans-d
). Les utilisateurs de Windows doivent exécuterwindows.bat
ouphp windows.php
pour l'activer.
À propos des instructions de sortie
Dans un projet traditionnel php-fpm, l'utilisation de echo
, var_dump
et d'autres fonctions pour afficher des données les affichera directement sur la page. Cependant, lors du développement de webman (lorsque le mode de débogage est activé), ces sorties apparaissent souvent dans le terminal et ne s'affichent pas dans la page (à l'exception des sorties dans les fichiers de modèle).
Ne pas exécuter des instructions exit
ou die
L'exécution de die
ou exit
fera quitter le processus et se redémarrer, ce qui entraînera une réponse incorrecte à la requête actuelle.
Ne pas exécuter la fonction pcntl_fork
pcntl_fork
crée un processus utilisateur, ce qui n'est pas permis dans webman.
Installation des composants composer
Les composants installés avec composer require xxx/xxx
nécessitent un redémarrage pour prendre effet.