mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-09 18:05:36 +08:00
properly handle different php versions, clean up only required files
This commit is contained in:
@@ -6,6 +6,7 @@ namespace SPC\command;
|
|||||||
|
|
||||||
use SPC\builder\BuilderProvider;
|
use SPC\builder\BuilderProvider;
|
||||||
use SPC\exception\ExceptionHandler;
|
use SPC\exception\ExceptionHandler;
|
||||||
|
use SPC\exception\RuntimeException;
|
||||||
use SPC\exception\WrongUsageException;
|
use SPC\exception\WrongUsageException;
|
||||||
use SPC\store\Config;
|
use SPC\store\Config;
|
||||||
use SPC\store\FileSystem;
|
use SPC\store\FileSystem;
|
||||||
@@ -158,14 +159,24 @@ class BuildPHPCommand extends BuildCommand
|
|||||||
if ($this->input->getOption('with-upx-pack') && in_array(PHP_OS_FAMILY, ['Linux', 'Windows'])) {
|
if ($this->input->getOption('with-upx-pack') && in_array(PHP_OS_FAMILY, ['Linux', 'Windows'])) {
|
||||||
$indent_texts['UPX Pack'] = 'enabled';
|
$indent_texts['UPX Pack'] = 'enabled';
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$ver = $builder->getPHPVersion();
|
$cleanPhpSrc = $builder->getPHPVersion() !== $builder->getPHPVersionFromArchive();
|
||||||
$indent_texts['PHP Version'] = $ver;
|
} catch (RuntimeException|WrongUsageException) {
|
||||||
} catch (\Throwable) {
|
$cleanPhpSrc = true;
|
||||||
if (($ver = $builder->getPHPVersionFromArchive()) !== false) {
|
}
|
||||||
$indent_texts['PHP Version'] = $ver;
|
if ($cleanPhpSrc) {
|
||||||
|
logger()->info('Cleaning previous php build due to mismatching versions...');
|
||||||
|
FileSystem::removeDir(SOURCE_PATH . '/php-src');
|
||||||
|
FileSystem::removeDir(BUILD_MODULES_PATH);
|
||||||
|
$binFiles = glob(BUILD_BIN_PATH . '/php*');
|
||||||
|
$libFiles = glob(BUILD_LIB_PATH . '/libphp*');
|
||||||
|
foreach ([...$binFiles, ...$libFiles] as $file) {
|
||||||
|
unlink($file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$ver = $builder->getPHPVersionFromArchive() ?: $builder->getPHPVersion();
|
||||||
|
$indent_texts['PHP Version'] = $ver;
|
||||||
|
|
||||||
if (!empty($not_included)) {
|
if (!empty($not_included)) {
|
||||||
$indent_texts['Extra Exts (' . count($not_included) . ')'] = implode(', ', $not_included);
|
$indent_texts['Extra Exts (' . count($not_included) . ')'] = implode(', ', $not_included);
|
||||||
|
|||||||
Reference in New Issue
Block a user