From df0bc83aeb68cd8e67458284a8d2d88adf744c1a Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Wed, 15 Jul 2026 15:04:48 +0800 Subject: [PATCH] Disable musl-wrapper installation on default situation --- src/StaticPHP/Doctor/Item/LinuxMuslCheck.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/StaticPHP/Doctor/Item/LinuxMuslCheck.php b/src/StaticPHP/Doctor/Item/LinuxMuslCheck.php index 1fe7ed00..2d871f0c 100644 --- a/src/StaticPHP/Doctor/Item/LinuxMuslCheck.php +++ b/src/StaticPHP/Doctor/Item/LinuxMuslCheck.php @@ -13,6 +13,7 @@ use StaticPHP\Attribute\Doctor\OptionalCheck; use StaticPHP\DI\ApplicationContext; use StaticPHP\Doctor\CheckResult; use StaticPHP\Runtime\Shell\Shell; +use StaticPHP\Runtime\SystemTarget; use StaticPHP\Toolchain\Interface\ToolchainInterface; use StaticPHP\Toolchain\MuslToolchain; use StaticPHP\Toolchain\ZigToolchain; @@ -27,7 +28,14 @@ class LinuxMuslCheck public static function optionalCheck(): bool { $toolchain = ApplicationContext::get(ToolchainInterface::class); - return $toolchain instanceof MuslToolchain || $toolchain instanceof ZigToolchain && !LinuxUtil::isMuslDist() && !str_contains(getenv('SPC_TARGET') ?: '', 'gnu'); + return PHP_OS_FAMILY === 'Linux' && ( + $toolchain instanceof MuslToolchain || ( + $toolchain instanceof ZigToolchain + && !LinuxUtil::isMuslDist() + && SystemTarget::getLibc() === 'musl' + && !$toolchain->isStatic() + ) + ); } /** @noinspection PhpUnused */