Notas de programación
Sistema operativo
webman es compatible con sistemas Linux y Windows. Sin embargo, debido a que Workerman no es compatible con la configuración de múltiples procesos y demonios en Windows, se recomienda utilizar Windows solo para el desarrollo y pruebas, y para entornos de producción se recomienda utilizar Linux.
Métodos de inicio
En sistemas Linux, se inicia con el comando php start.php start
(modo de depuración) o php start.php start -d
(modo demonio).
En sistemas Windows, se ejecuta windows.bat
o se utiliza el comando php windows.php
para iniciar, y se detiene con ctrl+c. Los sistemas Windows no admiten comandos como stop, reload, status, reload connections, entre otros.
Memoria persistente
webman es un marco de trabajo con memoria persistente. Por lo general, después de que un archivo PHP se carga en la memoria, se reutiliza y no se vuelve a leer del disco (con excepción de los archivos de plantillas). Por lo tanto, para que los cambios en el código o la configuración surtan efecto en entornos de producción, se necesita ejecutar php start.php reload
. Si se realizan cambios en la configuración de 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 de monitorización personalizado para detectar actualizaciones en los archivos de código. Cuando se actualiza un archivo de código, se ejecuta automáticamente una recarga. Esta función solo está activa cuando Workerman se ejecuta en modo de depuración (sin el argumento
-d
). Los usuarios de Windows necesitan ejecutarwindows.bat
ophp windows.php
para activar esta función.
Sobre las instrucciones de salida
En los proyectos tradicionales de PHP-FPM, las funciones echo
, var_dump
, entre otras, muestran datos directamente en la página. Sin embargo, en webman, estas salidas suelen aparecer en la terminal y no en la página (excepto las salidas en archivos de plantillas).
No utilizar las instrucciones exit
o die
Usar die
o exit
provocará la salida del proceso y su reinicio, lo que impedirá una respuesta correcta a la solicitud actual.
No utilizar la función pcntl_fork
La función pcntl_fork
se utiliza para crear un proceso, lo cual no está permitido en webman.