phpsdk_dllmap and phpsdk_libmap ignore ARM64 dependency archives

Ouverte Adaptée aux débutants
#63 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

@RaphaelFakhri y travaille déjà.

Depuis le 5/11/2026.

  • #64 par @RaphaelFakhri — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
84/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
php
Domaine
tooling

Piste de recherche

Commence par la correspondance des noms de fichiers d’archives dans bin/phpsdk_dllmap.php et bin/phpsdk_libmap.php ; l’issue identifie le groupe de capture de l’architecture qui exclut arm64. Vérifie comment chaque script utilise l’architecture capturée lors de la construction de son mapping, puis reproduis le problème avec les archives x64 et arm64 décrites dans l’issue. Le travail est terminé lorsque les deux mappings incluent une clé arm64 et conservent l’entrée x64 existante.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
M4
Étoiles
119
Forks
51
Merge moyen
7 min
PR mergées (30 j)
2

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de php/php-sdk-binary-tools

Toutes les issues de php/php-sdk-binary-tools

Issues similaires

Plus d'issues DevTools

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.