mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-19 05:14:52 +08:00
Make PhpExtensionPackage::getSharedExtensionLoadString public
This commit is contained in:
parent
98a618f1cd
commit
b1a59dad79
@ -327,6 +327,34 @@ class PhpExtensionPackage extends Package
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds the `-d extension_dir=... -d extension=...` string for all resolved shared extensions.
|
||||||
|
* Used in CLI smoke test to load shared extension dependencies at runtime.
|
||||||
|
*/
|
||||||
|
public function getSharedExtensionLoadString(): string
|
||||||
|
{
|
||||||
|
$sharedExts = array_filter(
|
||||||
|
$this->getInstaller()->getResolvedPackages(PhpExtensionPackage::class),
|
||||||
|
fn (PhpExtensionPackage $ext) => $ext->isBuildShared() && !$ext->isBuildWithPhp()
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($sharedExts)) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$ret = ' -d "extension_dir=' . BUILD_MODULES_PATH . '"';
|
||||||
|
foreach ($sharedExts as $ext) {
|
||||||
|
$extConfig = PackageConfig::get($ext->getName(), 'php-extension', []);
|
||||||
|
if ($extConfig['zend-extension'] ?? false) {
|
||||||
|
$ret .= ' -d "zend_extension=' . $ext->getExtensionName() . '"';
|
||||||
|
} else {
|
||||||
|
$ret .= ' -d "extension=' . $ext->getExtensionName() . '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Splits a given string of library flags into static and shared libraries.
|
* Splits a given string of library flags into static and shared libraries.
|
||||||
*
|
*
|
||||||
@ -354,34 +382,6 @@ class PhpExtensionPackage extends Package
|
|||||||
return [trim($staticLibString), trim($sharedLibString)];
|
return [trim($staticLibString), trim($sharedLibString)];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds the `-d extension_dir=... -d extension=...` string for all resolved shared extensions.
|
|
||||||
* Used in CLI smoke test to load shared extension dependencies at runtime.
|
|
||||||
*/
|
|
||||||
private function getSharedExtensionLoadString(): string
|
|
||||||
{
|
|
||||||
$sharedExts = array_filter(
|
|
||||||
$this->getInstaller()->getResolvedPackages(PhpExtensionPackage::class),
|
|
||||||
fn (PhpExtensionPackage $ext) => $ext->isBuildShared() && !$ext->isBuildWithPhp()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (empty($sharedExts)) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$ret = ' -d "extension_dir=' . BUILD_MODULES_PATH . '"';
|
|
||||||
foreach ($sharedExts as $ext) {
|
|
||||||
$extConfig = PackageConfig::get($ext->getName(), 'php-extension', []);
|
|
||||||
if ($extConfig['zend-extension'] ?? false) {
|
|
||||||
$ret .= ' -d "zend_extension=' . $ext->getExtensionName() . '"';
|
|
||||||
} else {
|
|
||||||
$ret .= ' -d "extension=' . $ext->getExtensionName() . '"';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Escape PHP test file content for inline `-r` usage.
|
* Escape PHP test file content for inline `-r` usage.
|
||||||
* Strips <?php / declare, replaces newlines and special shell characters.
|
* Strips <?php / declare, replaces newlines and special shell characters.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user