You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#20499 / #20500 moved putenv thin AOT off the StreamIo defer bag onto isThinStandaloneAotMain(), but thin standalone still takes a libc-onlysetenv path and skips GetenvJitHelper::putenv overlay. Peer StringGetenv already always NestedJITs the PHP helper under thin AOT (#20644). Thin user-script AOT therefore diverges from embed: overlay mutations and syntax ValueError path are skipped (guard also skipped for concat-temp SIGABRT history — #17316).
Category
php-in-php· runtime-shrink (#1492, re-#20499 / peer getenv #20644 / rename #20603)Problem
#20499/#20500moved putenv thin AOT off the StreamIo defer bag ontoisThinStandaloneAotMain(), but thin standalone still takes a libc-onlysetenvpath and skipsGetenvJitHelper::putenvoverlay. PeerStringGetenvalready always NestedJITs the PHP helper under thin AOT (#20644). Thin user-script AOT therefore diverges from embed: overlay mutations and syntax ValueError path are skipped (guard also skipped for concat-temp SIGABRT history — #17316).GetenvJitHelper::putenv+ libc mirrorsetenvonly (no helper)putenvFromCStringLiteralthinphp-src reference
zif_putenvPHP implementation target
ext/standard/JitEnv.php— deleteisThinStandaloneAotMainearly-return inputenv()/putenvFromCStringLiteral(); alwaysStringGetenv::ensurePutenvLinked+GetenvJitHelper::putenv+emitLibcPutenvMirroremitLibcPutenvMirror(process environ for libc getenv readers — not C runtime growth)test/unit/PutenvRuntimeShrinkTest.php— Rename/Getenv shape: noisThinStandaloneAotMaininJitEnv.phpRepro
Done when
isThinStandaloneAotMaingone fromJitEnv.phpputenv pathsGetenvJitHelper::putenv+ libc mirrorruntime/*.cRefs #1492, #20499, #20644, #17316, #10533