Skip to content

Download the PHPStan Pro PHAR of the current platform - #7017

Merged
ondrejmirtes merged 1 commit into
2.3.xfrom
pro-native-binary
Nov 9, 2026
Merged

ondrejmirtes merged 1 commit into
2.3.xfrom
pro-native-binary

Conversation

@ondrejmirtes

Copy link
Copy Markdown
Member

PHPStan Pro PHARs will bundle a native binary, one PHAR per platform.

  • /latest gets os (PHP_OS_FAMILY) and arch (php_uname('m')), and the download API answers the PHAR of that platform. Until PHPStan Pro publishes per-platform PHARs, the API ignores them, so this can be released first.
  • phar-info.json remembers the url, os and arch of the downloaded PHAR. A PHAR downloaded on another system (the temp directory carried over, or shared with a Docker container) or by an older PHPStan is deleted and downloaded again, so that a failed download doesn't fall back to a PHAR whose binary can't run here. A PHAR whose URL /latest no longer answers is downloaded again too.

PHPStan Pro PHARs bundle a native binary now, so /latest gets the os
(PHP_OS_FAMILY) and arch (php_uname('m')) of the system and answers the
PHAR of its platform.

phar-info.json remembers the URL, os and arch of the downloaded PHAR.
A PHAR downloaded on another system (the directory was carried over, or
is shared with a Docker container) or by an older PHPStan is deleted and
downloaded again, and so is one whose URL /latest no longer answers.

Amp-Thread-ID: https://ampcode.com/threads/T-01a1c135-4a5f-71d6-8fd1-dd47a96f2e3a
@ondrejmirtes
ondrejmirtes merged commit 24ba68c into 2.3.x Nov 9, 2026
889 of 892 checks passed
@ondrejmirtes
ondrejmirtes deleted the pro-native-binary branch November 9, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant