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 ejecutar windows.bat o php 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.