Add php-src git version support

This commit is contained in:
crazywhalecc 2025-07-28 15:36:53 +08:00
parent 85e89e4326
commit 973c8f082f
No known key found for this signature in database
GPG Key ID: 1F4BDD59391F2680
2 changed files with 5 additions and 6 deletions

View File

@ -108,12 +108,9 @@ class DownloadCommand extends BaseCommand
// Define PHP major version
$ver = $this->php_major_ver = $this->getOption('with-php');
define('SPC_BUILD_PHP_VERSION', $ver);
// match x.y
preg_match('/^\d+\.\d+$/', $ver, $matches);
if (!$matches) {
// match x.y.z
preg_match('/^\d+\.\d+\.\d+$/', $ver, $matches);
if (!$matches) {
if ($ver !== 'git' && !preg_match('/^\d+\.\d+$/', $ver)) {
// If not git, we need to check the version format
if (!preg_match('/^\d+\.\d+(\.\d+)?$/', $ver)) {
logger()->error("bad version arg: {$ver}, x.y or x.y.z required!");
return static::FAILURE;
}

View File

@ -22,6 +22,8 @@ class PhpSource extends CustomSourceBase
$major = defined('SPC_BUILD_PHP_VERSION') ? SPC_BUILD_PHP_VERSION : '8.4';
if ($major === '8.5') {
Downloader::downloadSource('php-src', ['type' => 'url', 'url' => 'https://downloads.php.net/~edorian/php-8.5.0alpha2.tar.xz'], $force);
} elseif ($major === 'git') {
Downloader::downloadSource('php-src', ['type' => 'git', 'url' => 'https://github.com/php/php-src.git', 'rev' => 'master'], $force);
} else {
Downloader::downloadSource('php-src', self::getLatestPHPInfo($major), $force);
}