Compilando PHP
O pipeline de build está em um Dockerfile. Originalmente foi um fork de seanmorris/php-wasm
Em linhas gerais, esse Dockerfile:
- Instala todos os pacotes linux necessários (como
build-essential) - Baixa o PHP e as bibliotecas necessárias, por exemplo
sqlite3. - Aplica alguns patches.
- Compila tudo usando Emscripten, um substituto direto para o compilador C.
- Compila
php_wasm.c– uma API conveniente para JavaScript. - Produz um arquivo
php.wasme um ou mais carregadores JavaScript, dependendo da configuração. - Transforma a saída padrão
php.jsdo Emscripten em um módulo ESM com recursos adicionais.
Para descobrir mais sobre cada etapa, consulte diretamente o Dockerfile.
Compilando
Para compilar todas as versões do PHP, execute nx recompile-php:all php-wasm-web (ou php-wasm-node) na raiz do repositório. Você encontrará os arquivos de saída em packages/php-wasm/php-web/public. Para compilar uma versão específica, execute nx recompile-php:all php-wasm-node --PHP_VERSION=8.0 --WITH_JSPI=yes (e repita com --WITH_JSPI=no).