Empaquetado en phar
phar es un tipo de archivo de empaquetado similar a JAR en PHP. Puedes utilizar phar para empaquetar tu proyecto webman en un solo archivo phar, lo que facilita su implementación.
Agradecimientos especiales a fuzqing por su PR.
Nota
Es necesario desactivar la opción de configuración phar enphp.ini
, es decir, establecerphar.readonly = 0
Instalar la herramienta de línea de comandos
composer require webman/console
Empaquetar
Ejecuta el comando php webman build:phar
en el directorio raíz de tu proyecto webman.
Esto generará un archivo webman.phar
en el directorio bulid.
La configuración relacionada con el empaquetado se encuentra en
config/plugin/webman/console/app.php
Comandos relacionados para iniciar y detener
Iniciar
php webman.phar start
o php webman.phar start -d
Detener
php webman.phar stop
Ver estado
php webman.phar status
Ver estado de conexiones
php webman.phar connections
Reiniciar
php webman.phar restart
o php webman.phar restart -d
Notas
-
El proyecto empaquetado no soporta reload, actualizar el código requiere un restart.
-
Para evitar que el tamaño del archivo empaquetado sea demasiado grande y consuma demasiada memoria, puedes configurar las opciones
exclude_pattern
yexclude_files
enconfig/plugin/webman/console/app.php
para excluir archivos innecesarios. -
Al ejecutar webman.phar, se generará un directorio runtime en el mismo directorio donde se encuentra webman.phar, que se utilizará para almacenar registros y otros archivos temporales.
-
Si tu proyecto utiliza un archivo .env, debes colocar el archivo .env en el mismo directorio donde se encuentra webman.phar.
-
Nunca almacenes archivos subidos por usuarios dentro del paquete phar, ya que operar archivos subidos por usuarios utilizando el protocolo
phar://
es muy peligroso (vulnerabilidad de deserialización de phar). Los archivos subidos por usuarios deben almacenarse por separado en el disco fuera del paquete phar, como se indica a continuación. -
Si tu negocio necesita subir archivos al directorio public, debes separar el directorio public y colocarlo en el mismo directorio donde se encuentra webman.phar. En este caso, necesitas configurar
config/app.php
.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',
Los negocios pueden usar la función asistente
public_path($ubicación relativa del archivo)
para encontrar la ubicación real del directorio public. -
Ten en cuenta que webman.phar no soporta iniciar procesos personalizados en Windows.