Instalação e plataformas
Instale a pré-release cosmemilton/acbr-php:0.1.0-alpha2, publicada no Packagist. A tag v0.1.0-alpha2 corresponde ao commit a3815542ee1a7d922d0cb4c553f53bf97144f0d4. A versão do SDK é independente do runtime nativo 0.2.1.
Pré-requisitos reais
| Componente | Exigência |
|---|---|
| PHP | 8.2 ou superior, 64 bits; ext-json |
| Sistema de execução nativa | Linux x86-64 com glibc |
| Processo nativo | proc_open e funções de streams/processos permitidas |
| Composer | Instalação e autoload PSR-4 |
ext-zlib | Somente para o instalador de arquivo .tgz |
ext-pcntl e ext-posix | Somente para a fila assíncrona, em CLI Linux |
ext-openssl e ext-dom | Testes independentes de assinatura; não são dependências obrigatórias da API síncrona |
PHP executa o processo Pascal diretamente por pipes. Node.js, npm, Python e FFI não são dependências de execução do cliente PHP. O site usa Node.js apenas em seu próprio build de documentação.
O runtime upstream foi construído para Ubuntu 24.04. A matriz versionada distingue testes históricos em Debian/PHP CLI e verificações de release. Isso não comprova FPM, Apache ou qualquer distribuição glibc. Verifique o destino com testes offline próprios.
Instalação na aplicação consumidora
Na raiz de uma aplicação Composer:
composer require cosmemilton/acbr-php:0.1.0-alpha2
composer show cosmemilton/acbr-php
php vendor/bin/acbr-php --version
php vendor/bin/acbr-php --help
php vendor/bin/acbr-php describe Ide.tpNF
php vendor/bin/acbr-php runtime:releaseSelecione explicitamente a versão alpha. Versione o composer.lock da aplicação e confira que a referência do pacote corresponde ao commit documentado. Não é necessário declarar um repositório VCS para instalar essa versão do Packagist.
Esses comandos instalam o código PHP e o autoload. A ajuda de campos e tipos já funciona sem runtime ou A1. Para gerar, assinar ou validar XML, instale separadamente o runtime fixado. Seu instalador não faz downloads nem executa scripts do arquivo distribuído.
<?php
require __DIR__ . '/vendor/autoload.php';
echo Acbr\Contract::bundled()->formatHelp('Ide.tpNF'), PHP_EOL;Ajuda offline instalada com o pacote
Na alpha2, execute php vendor/bin/acbr-php describe Ide.tpNF para texto, describe TTipoNFe --json ou ajuda TTipoNFe para JSON, e --version para a versão do SDK. A consulta não exige runtime, A1 ou rede. Veja ajuda de campos e tipos. A API Contract::help() permanece compatível com a alpha1.
Checkout de desenvolvimento
Para estudar ou executar os testes do SDK, use um checkout separado e fixado:
git clone https://github.com/cosmemilton/acbr-php.git
cd acbr-php
git checkout --detach a3815542ee1a7d922d0cb4c553f53bf97144f0d4
composer install
composer validate --strict
php bin/acbr-php --help
php bin/acbr-php runtime:release
php examples/ajuda.php 'Ide.tpNF'examples/ajuda.php pertence ao SDK; examples/help.php pertence aos exemplos desta documentação. No checkout, use php bin/acbr-php; no consumidor, use php vendor/bin/acbr-php. A autenticação Git/Composer, quando exigida pelo acesso ao repositório, pertence à configuração segura do ambiente; não coloque tokens na URL, em logs ou em arquivos versionados.
Windows e ambientes web
Não existe execução nativa Windows suportada pelo SDK PHP desta revisão. O upstream tem outro motor Windows, mas o verificador PHP aceita somente o pin Linux. Não copie uma DLL nem renomeie o executável para tentar habilitá-lo.
Em uma estação Windows, o código pode ser editado ali e executado em um ambiente Linux x64/glibc separado. WSL ou contêiner Linux previamente disponíveis precisam cumprir os mesmos requisitos e testes do Linux. Alpine/musl, ARM, macOS e PHP de 32 bits não são suportados.
Para FPM ou Apache, planeje a API síncrona em um job/processo dedicado e valide permissões, limites e encerramento no ambiente real. A matriz publicada não testou essas SAPIs. A fila com fork() permanece em CLI Linux; veja assíncrono.
Próximas verificações
- Confira a versão, a referência no lock e o autoload do consumidor.
- Consulte a ajuda offline para campos e enums.
- Instale o runtime exato, fora de diretório publicamente gravável.
- Execute geração sintética offline e registre PHP, sistema, resultados e eventuais skips.