phpsdk_dllmap and phpsdk_libmap ignore ARM64 dependency archives

Aberta Para iniciantes
#63 0 comentários 0 reações 0 responsáveis Ver no GitHub

@RaphaelFakhri já está trabalhando nisso.

Desde 5/11/2026.

  • #64 de @RaphaelFakhri — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
84/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
php
Domínio
tooling

Direção de pesquisa

Comece pela correspondência dos nomes de arquivo dos arquivos compactados em bin/phpsdk_dllmap.php e bin/phpsdk_libmap.php; a issue identifica o grupo de captura da arquitetura que exclui arm64. Confira como cada script usa a arquitetura capturada ao construir seu mapeamento e, em seguida, reproduza o problema com os arquivos compactados x64 e arm64 descritos na issue. O trabalho está concluído quando ambos os mapeamentos incluem uma chave arm64 e preservam a entrada x64 existente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bin/phpsdk_dllmap.php and bin/phpsdk_libmap.php filter archives with:

preg_match(",.*-(v[c|s]\d+)-(x\d\d)\.zip,", $filename, $m)

The (x\d\d) group matches only x86 and x64. Archives such as ICU-77.1-1-vs17-arm64.zip from https://downloads.php.net/~windows/php-sdk/deps/vs17/arm64/ are skipped without a warning, so the generated mapping has no arm64 key.

Steps to reproduce

  1. Put libfoo-1.0-vs17-x64.zip and libfoo-1.0-vs17-arm64.zip in one directory, each containing bin/libfoo.dll and lib/libfoo.lib.
  2. Run phpsdk_dllmap <dir>.

Expected

{"vs17":{"arm64":{"libfoo-1.0-vs17-arm64.zip":["libfoo.dll"]},"x64":{"libfoo-1.0-vs17-x64.zip":["libfoo.dll"]}}}

Actual

{"vs17":{"x64":{"libfoo-1.0-vs17-x64.zip":["libfoo.dll"]}}}

phpsdk_libmap behaves the same way.

Linguagem predominante
M4
Estrelas
119
Forks
51
Merge médio
7min
PRs com merge (30d)
2

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de php/php-sdk-binary-tools

Todas as issues de php/php-sdk-binary-tools

Issues semelhantes

Mais issues de DevTools

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.