empacotamento phar
phar é um arquivo de empacotamento semelhante ao JAR no PHP. Você pode usar o phar para empacotar seu projeto webman em um único arquivo phar, facilitando a implantação.
Agradecemos muito ao fuzqing pela PR.
Aviso
É necessário desativar a opção de configuração phar nophp.ini
, ou seja, definirphar.readonly = 0
Instalando a ferramenta de linha de comando
composer require webman/console
Empacotamento
Execute o comando php webman build:phar
no diretório raiz do projeto webman. Isso gerará um arquivo webman.phar
no diretório bulid.
As configurações relacionadas ao empacotamento estão em
config/plugin/webman/console/app.php
Comandos relacionados à inicialização e parada
Iniciar
php webman.phar start
ou php webman.phar start -d
Parar
php webman.phar stop
Verificar status
php webman.phar status
Verificar estado das conexões
php webman.phar connections
Reiniciar
php webman.phar restart
ou php webman.phar restart -d
Observações
-
O projeto empacotado não suporta reload; para atualizar o código, é necessário reiniciar.
-
Para evitar que o tamanho do arquivo empacotado ocupe muita memória, você pode definir as opções
exclude_pattern
eexclude_files
emconfig/plugin/webman/console/app.php
para excluir arquivos desnecessários. -
Ao executar o webman.phar, um diretório runtime será gerado no diretório onde o webman.phar está localizado, para armazenar logs e outros arquivos temporários.
-
Se o seu projeto usar um arquivo .env, coloque o arquivo .env no diretório onde o webman.phar está localizado.
-
Nunca armazene arquivos enviados pelo usuário dentro do pacote phar, pois operar arquivos enviados pelo usuário usando o protocolo
phar://
é muito perigoso (vulnerabilidade de deserialização do phar). Os arquivos enviados pelo usuário devem ser armazenados separadamente em um disco fora do pacote phar, conforme descrito abaixo. -
Se o seu negócio precisar enviar arquivos para o diretório public, você deve separar o diretório public e colocá-lo no diretório onde o webman.phar está localizado. Neste caso, é necessário configurar
config/app.php
.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',
O negócio pode usar a função auxiliar
public_path($caminho relativo do arquivo)
para encontrar a localização real do diretório public. -
Observe que o webman.phar não suporta a ativação de processos customizados no Windows.