From c2072699981b550288eddc81ac218dd852c7b7a1 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Wed, 8 Apr 2026 22:13:59 +0800 Subject: [PATCH] Add php extension OS support checks to PackageInstaller --- src/StaticPHP/Package/PackageInstaller.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/StaticPHP/Package/PackageInstaller.php b/src/StaticPHP/Package/PackageInstaller.php index a15ec473..ac4aa2e0 100644 --- a/src/StaticPHP/Package/PackageInstaller.php +++ b/src/StaticPHP/Package/PackageInstaller.php @@ -755,6 +755,14 @@ class PackageInstaller private function validatePackagesBeforeBuild(): void { foreach ($this->packages as $package) { + // Check OS support for php-extension packages + if ($package instanceof PhpExtensionPackage && !$package->isSupportedOnCurrentOS()) { + $supported = implode(', ', $package->getSupportedOSList()); + throw new WrongUsageException( + "Extension '{$package->getName()}' is not supported on current OS: " . SystemTarget::getTargetOS() . + ". Supported OS: [{$supported}]" + ); + } if ($package->getType() !== 'library') { continue; }