Skip to content

Please update the project for Windows 10 Pro #25

Open

Description

@JordanGarciaDev

Please update the project for Windows 10 Pro with PHP and MySQL in a hosting and localhost (XAMPP) environment.

Activity

  1. Ethic41 commented on Sep 3, 2026

    @Ethic41
    Owner

    I have opened draft PR #26 with the first Windows/XAMPP/hosted compatibility release.

    The investigation found that Windows Pro is not the main compatibility switch. The application also needs a working DigitalPersona driver/Web SDK service, a supported Docker Desktop + WSL 2/Hyper-V setup, correct application base paths, MySQL configuration, and a reachable matching service. The old revision also used root-relative /src/... URLs, which break when XAMPP serves the project from http://localhost/FingerPrint/.

    PR #26 now:

    • fixes XAMPP subdirectory paths;
    • makes MySQL and matching-service addresses configurable;
    • adds a Windows preflight script and PHP diagnostic endpoint;
    • adds Docker/service health checks;
    • documents local XAMPP and hosted-server configurations separately;
    • fixes a native verifier memory-lifetime defect.

    After checking out the PR branch, please run:

    cd fingerprint_service
    docker compose up -d --build
    docker compose ps
    cd ..
    powershell -ExecutionPolicy Bypass -File scripts/windows-preflight.ps1

    Then open:

    http://localhost/FingerPrint/src/core/diagnostics.php
    http://localhost/FingerPrint/
    

    Please share the redacted preflight and diagnostic results, plus any browser-console errors. Do not post fingerprint samples, passwords, tokens, or biometric request bodies.

  2. JordanGarciaDev commented on Sep 3, 2026

    @JordanGarciaDev
    Author

    Windows PowerShell
    Copyright (C) Microsoft Corporation. Todos los derechos reservados.

    Prueba la nueva tecnología PowerShell multiplataforma https://aka.ms/pscore6

    PS C:\Users\YINKER>cd c:/xampp/htdocs
    PS C:\xampp\htdocs> cd FingerPrint
    PS C:\xampp\htdocs\FingerPrint> cd fingerprint_service
    PS C:\xampp\htdocs\FingerPrint\fingerprint_service> docker compose up -d --build
    #1 [internal] load local bake definitions
    #1 reading from stdin 1.32kB 0.1s done
    #1 DONE 0.1s

    #2 [fingerprint_engine internal] load build definition from Dockerfile
    #2 transferring dockerfile: 1.03kB done
    #2 DONE 0.5s

    #3 [fingerprint_client internal] load build definition from Dockerfile
    #3 transferring dockerfile: 469B 0.0s done
    #3 DONE 0.8s

    #4 [fingerprint_engine internal] load metadata for docker.io/library/ubuntu:20.04
    #4 ...

    #5 [auth] library/ubuntu:pull token for registry-1.docker.io
    #5 DONE 0.0s

    #6 [auth] dahirmuhammaddahir/bexils_grpc:pull token for registry-1.docker.io
    #6 DONE 0.0s

    #7 [auth] dahirmuhammaddahir/secureng-php-apache:pull token for registry-1.docker.io
    #7 DONE 0.0s

    #8 [fingerprint_client internal] load metadata for docker.io/dahirmuhammaddahir/secureng-php-apache:latest
    #8 DONE 1.1s

    #9 [fingerprint_engine internal] load metadata for docker.io/dahirmuhammaddahir/bexils_grpc:1.0.0
    #9 DONE 1.8s

    #10 [fingerprint_client internal] load .dockerignore
    #10 transferring context: 185B done
    #10 DONE 0.4s

    #4 [fingerprint_engine internal] load metadata for docker.io/library/ubuntu:20.04
    #4 ...

    #11 [fingerprint_client internal] load build context
    #11 DONE 0.0s

    #4 [fingerprint_engine internal] load metadata for docker.io/library/ubuntu:20.04
    #4 DONE 2.1s

    #12 [fingerprint_engine internal] load .dockerignore
    #12 transferring context: 156B 0.0s done
    #12 DONE 0.4s

    #13 [fingerprint_client 1/4] FROM docker.io/dahirmuhammaddahir/secureng-php-apache:latest@sha256:2d57e336e
    c62e0fc3e46281c67f296c8cc840650503a0a7a8944baf66b6901fe
    #13 resolve docker.io/dahirmuhammaddahir/secureng-php-apache:latest@sha256:2d57e336ec62e0fc3e46281c67f296c
    8cc840650503a0a7a8944baf66b6901fe 0.5s done
    #13 DONE 0.6s

    #11 [fingerprint_client internal] load build context
    #11 ...

    #14 [fingerprint_engine internal] load build context
    #14 DONE 0.0s

    #11 [fingerprint_client internal] load build context
    #11 transferring context: 2.17kB 0.0s done
    #11 DONE 0.4s

    #15 [fingerprint_engine stage-1 1/5] FROM docker.io/library/ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce2437
    17141ce31e2c428701f6682bd2fafe15388214
    #15 resolve docker.io/library/ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe
    #16 [fingerprint_client 2/4] WORKDIR /var/www/html
    #16 CACHED

    #17 [fingerprint_client 3/4] COPY . .
    #17 CACHED

    #18 [fingerprint_client 4/4] RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && cd thirdparty/grp
    c-fingerprint-engine/src/php/ && composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && apt-get updat
    e && apt-get install -y --no-install-recommends net-tools && rm -rf /var/lib/apt/lists/*
    #18 ...

    #19 [fingerprint_engine stage1 1/6] FROM docker.io/dahirmuhammaddahir/bexils_grpc:1.0.0@sha256:d0e8155c32a7b96b221144842eb4def8d1cd42031
    0199a6f26924b6605f4cb8b
    #19 resolve docker.io/dahirmuhammaddahir/bexils_grpc:1.0.0@sha256:d0e8155c32a7b96b221144842eb4def8d1cd420310199a6f26924b6605f4cb8b 0.8s
    done
    #19 DONE 1.0s

    #14 [fingerprint_engine internal] load build context
    #14 transferring context: 749B 0.0s done
    #14 DONE 0.4s

    #15 [fingerprint_engine stage-1 1/5] FROM docker.io/library/ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe
    15388214
    #15 resolve docker.io/library/ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214 1.3s done
    #15 DONE 1.4s

    #18 [fingerprint_client 4/4] RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && cd thirdparty/grp
    c-fingerprint-engine/src/php/ && composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && apt-get updat
    e && apt-get install -y --no-install-recommends net-tools && rm -rf /var/lib/apt/lists/*
    #18 ...

    #20 [fingerprint_engine stage1 2/6] WORKDIR /temp
    #20 CACHED

    #21 [fingerprint_engine stage1 4/6] WORKDIR /app
    #21 CACHED

    #22 [fingerprint_engine stage-1 4/5] WORKDIR /app
    #22 CACHED

    #23 [fingerprint_engine stage1 6/6] RUN cmake -S src/cpp -B src/cpp/build && cmake --build src/cpp/build --parallel
    #23 CACHED

    #24 [fingerprint_engine stage-1 2/5] COPY --from=stage1 /opt /opt
    #24 CACHED

    #25 [fingerprint_engine stage1 3/6] RUN apt update && apt install -y wget && wget https://github.com/Bexils/grpc-fingerprint-engine/
    releases/download/v1.1.0/libdpfj.tar && tar -xvf libdpfj.tar && cp -r opt/* /opt && cp lib/* /lib && rm libdpfj.tar &&
    apt purge -y --auto-remove wget
    #25 CACHED

    #26 [fingerprint_engine stage-1 3/5] COPY --from=stage1 /temp/lib /lib
    #26 CACHED

    #27 [fingerprint_engine stage1 5/6] COPY src/ ./src
    #27 CACHED

    #28 [fingerprint_engine stage-1 5/5] COPY --from=stage1 /app/src/cpp/build/fingerprint_server .
    #28 CACHED

    #29 [fingerprint_engine] exporting to image
    #29 exporting layers done
    #29 exporting manifest sha256:3f529c86aba8778e9413b9bb7eb295e646226c8473a76ab3c025c087a876d06f 0.1s done
    #29 exporting config sha256:6783826c305d764260e50a1f01825a3524531756eea20aa5ece97b06df0f595f
    #29 exporting config sha256:6783826c305d764260e50a1f01825a3524531756eea20aa5ece97b06df0f595f 0.1s done
    #29 exporting attestation manifest sha256:589e7cf73600b171122894c7c0eb8d6d24b9fb7ef0a2351d494b377379b3a642
    #29 exporting attestation manifest sha256:589e7cf73600b171122894c7c0eb8d6d24b9fb7ef0a2351d494b377379b3a642 0.6s done
    #29 exporting manifest list sha256:e8aa92a55ebdc7132b2cc39f7630b0b7bd12260178c87bb0e50124c666b41b9d
    #29 exporting manifest list sha256:e8aa92a55ebdc7132b2cc39f7630b0b7bd12260178c87bb0e50124c666b41b9d 0.4s done
    #29 naming to docker.io/library/fingerprint-engine:local
    #29 naming to docker.io/library/fingerprint-engine:local 0.1s done
    #29 unpacking to docker.io/library/fingerprint-engine:local
    #29 unpacking to docker.io/library/fingerprint-engine:local 0.1s done
    #29 DONE 2.0s

    #18 [fingerprint_client 4/4] RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && cd thirdparty/grp
    c-fingerprint-engine/src/php/ && composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && apt-get updat
    e && apt-get install -y --no-install-recommends net-tools && rm -rf /var/lib/apt/lists/*
    #18 2.300 Do not run Composer as root/super user! See https://getcomposer.org/root for details
    #18 2.308 No lock file found. Updating dependencies instead of installing from lock file. Use composer update over composer install if y
    ou do not have a lock file.
    #18 2.309 Loading composer repositories with package information
    #18 2.973 Updating dependencies
    #18 3.085 Lock file operations: 25 installs, 0 updates, 0 removals
    #18 3.085 - Locking bacon/bacon-qr-code (2.0.8)
    #18 3.085 - Locking dasprid/enum (1.0.7)
    #18 3.085 - Locking firebase/php-jwt (v5.5.1)
    #18 3.085 - Locking google/auth (v1.26.0)
    #18 3.085 - Locking google/cloud-core (v1.49.4)
    #18 3.085 - Locking google/cloud-storage (v1.30.2)
    #18 3.085 - Locking google/crc32 (v0.1.0)
    #18 3.085 - Locking google/protobuf (v3.25.9)
    #18 3.085 - Locking grpc/grpc (1.35.0)
    #18 3.085 - Locking guzzlehttp/guzzle (7.9.3)
    #18 3.085 - Locking guzzlehttp/promises (1.5.3)
    #18 3.085 - Locking guzzlehttp/psr7 (2.13.1)
    #18 3.085 - Locking ircmaxell/random-lib (v1.2.0)
    #18 3.085 - Locking ircmaxell/security-lib (v1.1.0)
    #18 3.085 - Locking monolog/monolog (2.11.1)
    #18 3.085 - Locking psr/cache (1.0.1)
    #18 3.085 - Locking psr/http-client (1.0.3)
    #18 3.085 - Locking psr/http-factory (1.1.0)
    #18 3.085 - Locking psr/http-message (1.1)
    #18 3.085 - Locking psr/log (1.1.4)
    #18 3.085 - Locking ralouphie/getallheaders (3.0.3)
    #18 3.085 - Locking rize/uri-template (0.3.8)
    #18 3.085 - Locking simplesoftwareio/simple-qrcode (4.2.0)
    #18 3.085 - Locking symfony/deprecation-contracts (v2.5.4)
    #18 3.085 - Locking symfony/polyfill-php80 (v1.37.0)
    #18 3.088 Writing lock file
    #18 3.088 Installing dependencies from lock file
    #18 3.090 Package operations: 25 installs, 0 updates, 0 removals
    #18 3.094 Failed to download dasprid/enum from dist: The zip extension and unzip command are both missing, skipping.
    #18 3.094 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 3.094 Now trying to download from source
    #18 3.099 - Syncing dasprid/enum (1.0.7) into cache
    #18 4.092 Failed to download psr/http-message from dist: The zip extension and unzip command are both missing, skipping.
    #18 4.092 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 4.092 Now trying to download from source
    #18 4.093 - Syncing psr/http-message (1.1) into cache
    #18 5.113 Failed to download psr/cache from dist: The zip extension and unzip command are both missing, skipping.
    #18 5.113 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 5.113 Now trying to download from source
    #18 5.113 - Syncing psr/cache (1.0.1) into cache
    #18 ...

    #30 [fingerprint_engine] resolving provenance for metadata file
    #30 DONE 0.0s

    #18 [fingerprint_client 4/4] RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && cd thirdparty/grp
    c-fingerprint-engine/src/php/ && composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && apt-get updat
    e && apt-get install -y --no-install-recommends net-tools && rm -rf /var/lib/apt/lists/*
    #18 6.065 Failed to download symfony/polyfill-php80 from dist: The zip extension and unzip command are both missing, skipping.
    #18 6.065 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 6.065 Now trying to download from source
    #18 6.065 - Syncing symfony/polyfill-php80 (v1.37.0) into cache
    #18 6.839 Failed to download symfony/deprecation-contracts from dist: The zip extension and unzip command are both missing, skipping
    .
    #18 6.839 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 6.839 Now trying to download from source
    #18 6.839 - Syncing symfony/deprecation-contracts (v2.5.4) into cache
    #18 7.609 Failed to download ralouphie/getallheaders from dist: The zip extension and unzip command are both missing, skipping.
    #18 7.609 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 7.609 Now trying to download from source
    #18 7.609 - Syncing ralouphie/getallheaders (3.0.3) into cache
    #18 8.617 Failed to download psr/http-factory from dist: The zip extension and unzip command are both missing, skipping.
    #18 8.617 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 8.617 Now trying to download from source
    #18 8.618 - Syncing psr/http-factory (1.1.0) into cache
    #18 9.328 Failed to download guzzlehttp/psr7 from dist: The zip extension and unzip command are both missing, skipping.
    #18 9.328 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 9.328 Now trying to download from source
    #18 9.329 - Syncing guzzlehttp/psr7 (2.13.1) into cache
    #18 10.84 Failed to download psr/http-client from dist: The zip extension and unzip command are both missing, skipping.
    #18 10.84 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 10.84 Now trying to download from source
    #18 10.84 - Syncing psr/http-client (1.0.3) into cache
    #18 11.59 Failed to download guzzlehttp/promises from dist: The zip extension and unzip command are both missing, skipping.
    #18 11.59 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 11.59 Now trying to download from source
    #18 11.59 - Syncing guzzlehttp/promises (1.5.3) into cache
    #18 12.71 Failed to download guzzlehttp/guzzle from dist: The zip extension and unzip command are both missing, skipping.
    #18 12.71 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 12.71 Now trying to download from source
    #18 12.71 - Syncing guzzlehttp/guzzle (7.9.3) into cache
    #18 17.79 Failed to download firebase/php-jwt from dist: The zip extension and unzip command are both missing, skipping.
    #18 17.79 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 17.79 Now trying to download from source
    #18 17.79 - Syncing firebase/php-jwt (v5.5.1) into cache
    #18 19.04 Failed to download google/auth from dist: The zip extension and unzip command are both missing, skipping.
    #18 19.04 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 19.04 Now trying to download from source
    #18 19.04 - Syncing google/auth (v1.26.0) into cache
    #18 28.69 Failed to download google/crc32 from dist: The zip extension and unzip command are both missing, skipping.
    #18 28.69 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 28.69 Now trying to download from source
    #18 28.69 - Syncing google/crc32 (v0.1.0) into cache
    #18 29.55 Failed to download rize/uri-template from dist: The zip extension and unzip command are both missing, skipping.
    #18 29.55 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 29.55 Now trying to download from source
    #18 29.55 - Syncing rize/uri-template (0.3.8) into cache
    #18 30.66 Failed to download psr/log from dist: The zip extension and unzip command are both missing, skipping.
    #18 30.66 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 30.66 Now trying to download from source
    #18 30.66 - Syncing psr/log (1.1.4) into cache
    #18 31.44 Failed to download monolog/monolog from dist: The zip extension and unzip command are both missing, skipping.
    #18 31.44 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 31.44 Now trying to download from source
    #18 31.44 - Syncing monolog/monolog (2.11.1) into cache
    #18 35.15 Failed to download google/cloud-core from dist: The zip extension and unzip command are both missing, skipping.
    #18 35.15 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 35.15 Now trying to download from source
    #18 35.15 - Syncing google/cloud-core (v1.49.4) into cache
    #18 36.28 Failed to download google/cloud-storage from dist: The zip extension and unzip command are both missing, skipping.
    #18 36.28 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 36.28 Now trying to download from source
    #18 36.28 - Syncing google/cloud-storage (v1.30.2) into cache
    #18 37.42 Failed to download google/protobuf from dist: The zip extension and unzip command are both missing, skipping.
    #18 37.42 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 37.42 Now trying to download from source
    #18 37.42 - Syncing google/protobuf (v3.25.9) into cache
    #18 38.53 Failed to download grpc/grpc from dist: The zip extension and unzip command are both missing, skipping.
    #18 38.53 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 38.53 Now trying to download from source
    #18 38.53 - Syncing grpc/grpc (1.35.0) into cache
    #18 41.78 Failed to download ircmaxell/security-lib from dist: The zip extension and unzip command are both missing, skipping.
    #18 41.78 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 41.78 Now trying to download from source
    #18 41.78 - Syncing ircmaxell/security-lib (v1.1.0) into cache
    #18 42.60 Failed to download ircmaxell/random-lib from dist: The zip extension and unzip command are both missing, skipping.
    #18 42.60 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 42.60 Now trying to download from source
    #18 42.60 - Syncing ircmaxell/random-lib (v1.2.0) into cache
    #18 43.47 Failed to download bacon/bacon-qr-code from dist: The zip extension and unzip command are both missing, skipping.
    #18 43.47 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 43.47 Now trying to download from source
    #18 43.47 - Syncing bacon/bacon-qr-code (2.0.8) into cache
    #18 44.56 Failed to download simplesoftwareio/simple-qrcode from dist: The zip extension and unzip command are both missing, skippin
    g.
    #18 44.56 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 44.56 Now trying to download from source
    #18 44.56 - Syncing simplesoftwareio/simple-qrcode (4.2.0) into cache
    #18 45.65 0 [>---------------------------] 0 [>---------------------------] 0 [>---------------------------] - Installing das
    prid/enum (1.0.7): Cloning b5874fa9ed from cache
    #18 45.85 - Installing psr/http-message (1.1): Cloning cb6ce4845c from cache
    #18 46.02 - Installing psr/cache (1.0.1): Cloning d11b50ad22 from cache
    #18 46.17 - Installing symfony/polyfill-php80 (v1.37.0): Cloning dfb55726c3 from cache
    #18 46.33 - Installing symfony/deprecation-contracts (v2.5.4): Cloning 605389f2a7 from cache
    #18 46.53 - Installing ralouphie/getallheaders (3.0.3): Cloning 120b605dfe from cache
    #18 46.72 - Installing psr/http-factory (1.1.0): Cloning 2b4765fddf from cache
    #18 46.95 - Installing guzzlehttp/psr7 (2.13.1): Cloning 95e7828100 from cache
    #18 47.25 - Installing psr/http-client (1.0.3): Cloning bb5906edc1 from cache
    #18 47.44 - Installing guzzlehttp/promises (1.5.3): Cloning 67ab6e18aa from cache
    #18 47.69 - Installing guzzlehttp/guzzle (7.9.3): Cloning 7b2f29fe81 from cache
    #18 48.66 - Installing firebase/php-jwt (v5.5.1): Cloning 83b6090281 from cache
    #18 48.91 - Installing google/auth (v1.26.0): Cloning f1f0d0319e from cache
    #18 50.07 - Installing google/crc32 (v0.1.0): Cloning a8525f0dea from cache
    #18 50.27 - Installing rize/uri-template (0.3.8): Cloning 34a5b96d0b from cache
    #18 50.46 - Installing psr/log (1.1.4): Cloning d49695b909 from cache
    #18 50.63 - Installing monolog/monolog (2.11.1): Cloning bf2403f591 from cache
    #18 51.16 - Installing google/cloud-core (v1.49.4): Cloning 6723a3fde6 from cache
    #18 51.46 - Installing google/cloud-storage (v1.30.2): Cloning b7f74ec1b7 from cache
    #18 51.78 - Installing google/protobuf (v3.25.9): Cloning 7430ad4744 from cache
    #18 52.49 - Installing grpc/grpc (1.35.0): Cloning cf75367acf from cache
    #18 52.90 - Installing ircmaxell/security-lib (v1.1.0): Cloning f3db6de12c from cache
    #18 53.22 - Installing ircmaxell/random-lib (v1.2.0): Cloning e9e0204f40 from cache
    #18 53.54 - Installing bacon/bacon-qr-code (2.0.8): Cloning 8674e51bb6 from cache
    #18 54.09 - Installing simplesoftwareio/simple-qrcode (4.2.0): Cloning 916db7948c from cache
    #18 54.44 0 [>---------------------------] 0 [>---------------------------] 0 [>---------------------------]21 package suggest
    ions were added by new dependencies, use composer suggest to see details.
    #18 54.80 Package google/crc32 is abandoned, you should avoid using it. No replacement was suggested.
    #18 54.80 Generating optimized autoload files
    #18 54.92 7 packages you are using are looking for funding.
    #18 54.92 Use the composer fund command to find out more!
    #18 55.07 Do not run Composer as root/super user! See https://getcomposer.org/root for details
    #18 55.08 Installing dependencies from lock file
    #18 55.08 Verifying lock file contents can be installed on current platform.
    #18 55.10 Package operations: 2 installs, 0 updates, 0 removals
    #18 55.10 Failed to download google/protobuf from dist: The zip extension and unzip command are both missing, skipping.
    #18 55.10 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 55.10 Now trying to download from source
    #18 55.10 - Syncing google/protobuf (v3.14.0) into cache
    #18 55.11 Failed to download grpc/grpc from dist: The zip extension and unzip command are both missing, skipping.
    #18 55.11 Your command-line PHP is using multiple ini files. Run php --ini to show them.
    #18 55.11 Now trying to download from source
    #18 55.11 - Syncing grpc/grpc (1.35.0) into cache
    #18 55.13 0 [>---------------------------] 0 [>---------------------------] 0 [>---------------------------] - Installing goo
    gle/protobuf (v3.14.0): Cloning 03f132a66f from cache
    #18 55.38 - Installing grpc/grpc (1.35.0): Cloning cf75367acf from cache
    #18 55.60 0 [>---------------------------] 0 [>---------------------------] 0 [>---------------------------]Generating optimiz
    ed autoload files
    #18 56.04 Ign:1 http://deb.debian.org/debian buster InRelease
    #18 56.22 Ign:2 http://deb.debian.org/debian buster-updates InRelease
    #18 56.24 Err:3 http://deb.debian.org/debian buster Release
    #18 56.24 404 Not Found [IP: 151.101.2.132 80]
    #18 56.25 Ign:4 http://security.debian.org/debian-security buster/updates InRelease
    #18 56.42 Err:5 http://deb.debian.org/debian buster-updates Release
    #18 56.42 404 Not Found [IP: 151.101.2.132 80]
    #18 56.44 Err:6 http://security.debian.org/debian-security buster/updates Release
    #18 56.44 404 Not Found [IP: 151.101.130.132 80]
    #18 56.45 Reading package lists...
    #18 56.47 E: The repository 'http://deb.debian.org/debian buster Release' does not have a Release file.
    #18 56.47 E: The repository 'http://deb.debian.org/debian buster-updates Release' does not have a Release file.
    #18 56.47 E: The repository 'http://security.debian.org/debian-security buster/updates Release' does not have a Release file.
    #18 ERROR: process "/bin/sh -c composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && cd thirdparty/grpc-
    fingerprint-engine/src/php/ && composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && apt-get update
    && apt-get install -y --no-install-recommends net-tools && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 10
    0

    [fingerprint_client 4/4] RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && cd thirdparty/grpc
    -fingerprint-engine/src/php/ && composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && apt-get update
    && apt-get install -y --no-install-recommends net-tools && rm -rf /var/lib/apt/lists/*:
    56.24 404 Not Found [IP: 151.101.2.132 80]
    56.25 Ign:4 http://security.debian.org/debian-security buster/updates InRelease
    56.42 Err:5 http://deb.debian.org/debian buster-updates Release
    56.42 404 Not Found [IP: 151.101.2.132 80]
    56.44 Err:6 http://security.debian.org/debian-security buster/updates Release
    56.44 404 Not Found [IP: 151.101.130.132 80]
    56.45 Reading package lists...
    56.47 E: The repository 'http://deb.debian.org/debian buster Release' does not have a Release file.
    56.47 E: The repository 'http://deb.debian.org/debian buster-updates Release' does not have a Release file.
    56.47 E: The repository 'http://security.debian.org/debian-security buster/updates Release' does not have a Release file.


    [+] up 0/2

    • Image fingerprint-client:local Building64.4s
    • Image fingerprint-engine:local Building64.4s
      Dockerfile:7

    6 |

    7 | >>> RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && \

    8 | >>> cd thirdparty/grpc-fingerprint-engine/src/php/ && \

    9 | >>> composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && \

    10 | >>> apt-get update && apt-get install -y --no-install-recommends net-tools && \

    11 | >>> rm -rf /var/lib/apt/lists/*

    12 |


    target fingerprint_client: failed to solve: process "/bin/sh -c composer install --no-dev --prefer-dist --no-interaction --optimize-auto
    plete successfully: exit code: 100

    View build details: docker-desktop://dashboard/build/default/default/es6gmsukyij4vo8hhcyavn2ea

    if : El término 'if' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió
    correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo.
    En C:\xampp\htdocs\FingerPrint\scripts\windows-preflight.ps1: 13 Carácter: 59

    • Report "Firmware virtualization" ([bool]$virtualization) (if ($virtua ...
    •                                                       ~~
      
      • CategoryInfo : ObjectNotFound: (if:String) [], CommandNotFoundException
      • FullyQualifiedErrorId : CommandNotFoundException

    [OK] WSL: Versi≤n de WSL: 2.3.26.0 Versi≤n de kernel: 5.15.167.4-1 Versi≤n de WSLg: 1.0.65 Versi≤n de MSRDC: 1.2.5620 Versi≤n de Dir
    ect3D: 1.611.1-81528511 Versi≤n DXCore: 10.0.26100.1-240331-1435.ge-release Versi≤n de Windows: 10.0.19045.2965
    [OK] Docker engine: 29.7.2
    [OK] Docker Compose: Docker Compose version v5.4.0
    [OK] Fingerprint reader: U.are.U® 4500 Fingerprint Reader
    [FAIL] Fingerprint service: No es posible conectar con el servidor remoto
    Open the application diagnostics endpoint next: /src/core/diagnostics.php
    PS C:\xampp\htdocs\FingerPrint>

    http://localhost/FingerPrint/src/core/diagnostics.php:
    RESULT:
    {
    "ok": false,
    "checks": {
    "php": {
    "ok": true,
    "version": "8.2.12",
    "message": "PHP runtime is available."
    },
    "mysqli": {
    "ok": true,
    "message": "mysqli is enabled."
    },
    "database": {
    "ok": true,
    "message": "MySQL connection succeeded."
    },
    "fingerprint_service": {
    "ok": false,
    "target": "127.0.0.1:5555",
    "message": "Fingerprint service is unreachable. Check FP_CLIENT_SERVICE_HOST and Docker/service status."
    }
    }
    }

    IMPORTANT: The SDK V3 and the patch you mentioned need to be installed DO NOT work on Windows 10 Pro.

    In other words, it does not connect to the DigitalPersona biometric reader hardware. So far, the only SDK and RTE that has worked is v.1.6.1.965 (DigitalPersona One Touch for Windows SDK).

    There was an error in the Dockerfile, and I fixed it by removing a few lines with the help of AI.

    ChatGPT Fix Dockerfile

    I've managed to get the service running!

    But I still can't get "Choose Fingerprint Reader" to work, as it doesn't appear with either version 1.6 or the version 3 SDK you mentioned, plus the patch.

    After applying the diagnostic fix suggested by the AI, this is the JSON result.

    http://localhost/FingerPrint/src/core/diagnostics.php:

    RESULT:
    {
    "ok": true,
    "checks": {
    "php": {
    "ok": true,
    "version": "8.2.12",
    "message": "PHP runtime is available."
    },
    "mysqli": {
    "ok": true,
    "message": "mysqli is enabled."
    },
    "database": {
    "ok": true,
    "message": "MySQL connection succeeded."
    },
    "fingerprint_service": {
    "ok": true,
    "target": "127.0.0.1:5555",
    "message": "Fingerprint service port is reachable."
    }
    }
    }

  3. JordanGarciaDev commented on Sep 9, 2026

    @JordanGarciaDev
    Author

    IMPORTANT: The SDK V3 and the patch you mentioned need to be installed DO NOT work on Windows 10 Pro.

    In other words, it does not connect to the DigitalPersona biometric reader hardware. So far, the only SDK and RTE that has worked is v.1.6.1.965 (DigitalPersona One Touch for Windows SDK).

    Image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions