build frankenphp and embed after shared extensions, make sure the linker doesn't drop libphp.a symbols that extensions need

This commit is contained in:
DubbleClick
2025-08-29 08:45:58 +07:00
parent 5a30d509e7
commit 460eb02086
5 changed files with 98 additions and 9 deletions

View File

@@ -142,6 +142,12 @@ class LinuxBuilder extends UnixBuilderBase
}
$this->buildEmbed();
}
// build dynamic extensions if needed, must happen before building FrankenPHP to make sure we export all necessary, undefined symbols
$shared_extensions = array_map('trim', array_filter(explode(',', $this->getOption('build-shared'))));
if (!empty($shared_extensions)) {
logger()->info('Building shared extensions ...');
$this->buildSharedExts();
}
if ($enableFrankenphp) {
logger()->info('building frankenphp');
$this->buildFrankenphp();