Notas de programación
Sistema operativo
webman admite la ejecución en sistemas linux y windows. Sin embargo, dado que workerman no puede soportar configuraciones de múltiples procesos y procesos en segundo plano en windows, se sugiere que el sistema windows solo se utilice para el desarrollo y la depuración en entornos de desarrollo. Para entornos de producción, se debe utilizar un sistema linux.
Modo de inicio
Sistema linux
php start.php start
Este comando es para el modo de depuración, generalmente utilizado durante el desarrollo, el proceso monitor de actualización de archivos detectará automáticamente el reload, mostrando los datos en la terminal; webman también se cerrará automáticamente cuando se cierre la terminal.
php start.php start -d
Este comando es para el modo de proceso en segundo plano, utilizado en entornos de producción; webman seguirá ejecutándose después de cerrar la terminal y no mostrará datos en la terminal. Para actualizar el código, se debe ejecutar php start.php reload
o php start.php restart -d
.
Sistema windows
Ejecute windows.bat
o use el comando php windows.php
para iniciar, y presione ctrl c para detener.
Los sistemas windows no soportan los comandos stop reload status reload connections, etc.
Windows no soporta el modo de proceso en segundo plano.
Residente en memoria
webman es un marco residente en memoria; generalmente, después de que se carga el archivo php, permanece en la memoria de forma constante mediante opcode y no se vuelve a leer desde el disco (exceptuando los archivos de plantilla).
Por lo tanto, después de realizar cambios en el código de negocio o en la configuración en un entorno de producción, es necesario ejecutar php start.php reload
para que surtan efecto.
Si se cambian configuraciones relacionadas con procesos o se instala un nuevo paquete de composer, se necesita reiniciar con php start.php restart
.
Para facilitar el desarrollo, webman incluye un proceso personalizado llamado monitor que se utiliza para supervisar la actualización de archivos de negocio; cuando hay una actualización, se ejecutará automáticamente el reload.
Esta función solo está habilitada cuando workerman se ejecuta en modo de depuración (sin añadir-d
al iniciar). Los usuarios de windows deben ejecutarwindows.bat
ophp windows.php
para habilitarlo.
Sobre las declaraciones de salida
En proyectos tradicionales de php-fpm, el uso de funciones como echo
o var_dump
para mostrar datos se mostrará directamente en la página; sin embargo, durante el desarrollo de webman (cuando se inicia en modo de depuración), estas salidas a menudo se mostrarán en la terminal y no en la página (exceptuando las salidas en archivos de plantilla).
No ejecute las declaraciones exit
o die
Ejecutar die o exit hará que el proceso se cierre y reinicie, lo que resulta en que la solicitud actual no pueda ser respondida correctamente.
No ejecute la función pcntl_fork
pcntl_fork
crea un proceso por usuario, lo cual no está permitido en webman.
Instalación de componentes con composer
Los componentes instalados con composer require xxx/xxx
necesitan reiniciarse para que surtan efecto.