diff --git a/src/scripts/darwin.sh b/src/scripts/darwin.sh index 375b9eea..6b07a9a5 100644 --- a/src/scripts/darwin.sh +++ b/src/scripts/darwin.sh @@ -60,10 +60,10 @@ check_extension() { # Fuction to get the PECL version. get_pecl_version() { extension=$1 - stability=$2 + stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot)")" pecl_rest='https://pecl.php.net/rest/r/' response=$(curl -q -sSL "$pecl_rest$extension"/allreleases.xml) - pecl_version=$(echo "$response" | grep -m 1 -Eo "(\d*\.\d*\.\d*$stability\d*)") + pecl_version=$(echo "$response" | grep -m 1 -Eio "(\d*\.\d*\.\d*$stability\d*)") if [ ! "$pecl_version" ]; then pecl_version=$(echo "$response" | grep -m 1 -Eo "(\d*\.\d*\.\d*)") fi @@ -75,6 +75,9 @@ add_pecl_extension() { extension=$1 pecl_version=$2 prefix=$3 + if [[ $pecl_version =~ .*(alpha|beta|rc|snapshot).* ]]; then + pecl_version=$(get_pecl_version "$extension" "$pecl_version") + fi if ! check_extension "$extension" && [ -e "$ext_dir/$extension.so" ]; then echo "$prefix=$ext_dir/$extension.so" >>"$ini_file" fi diff --git a/src/scripts/linux.sh b/src/scripts/linux.sh index 9b74e2a4..38e36af2 100644 --- a/src/scripts/linux.sh +++ b/src/scripts/linux.sh @@ -80,10 +80,10 @@ configure_pecl() { # Fuction to get the PECL version of an extension. get_pecl_version() { extension=$1 - stability=$2 + stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot)")" pecl_rest='https://pecl.php.net/rest/r/' response=$(curl -q -sSL "$pecl_rest$extension"/allreleases.xml) - pecl_version=$(echo "$response" | grep -m 1 -Po "(\d*\.\d*\.\d*$stability\d*)") + pecl_version=$(echo "$response" | grep -m 1 -Pio "(\d*\.\d*\.\d*$stability\d*)") if [ ! "$pecl_version" ]; then pecl_version=$(echo "$response" | grep -m 1 -Po "(\d*\.\d*\.\d*)") fi @@ -179,6 +179,9 @@ add_pecl_extension() { extension=$1 pecl_version=$2 prefix=$3 + if [[ $pecl_version =~ .*(alpha|beta|rc|snapshot).* ]]; then + pecl_version=$(get_pecl_version "$extension" "$pecl_version") + fi if ! check_extension "$extension" && [ -e "$ext_dir/$extension.so" ]; then echo "$prefix=$ext_dir/$extension.so" >>"$pecl_file" fi diff --git a/src/scripts/win32.ps1 b/src/scripts/win32.ps1 index a15bd82c..844f2582 100644 --- a/src/scripts/win32.ps1 +++ b/src/scripts/win32.ps1 @@ -99,7 +99,7 @@ Function Add-Extension { [ValidateNotNull()] [ValidateSet('stable', 'beta', 'alpha', 'devel', 'snapshot')] [string] - $mininum_stability = 'stable', + $stability = 'stable', [Parameter(Position = 2, Mandatory = $false)] [ValidateNotNull()] [ValidatePattern('^\d+(\.\d+){0,2}$')] @@ -124,9 +124,9 @@ Function Add-Extension { } else { if($extension_version -ne '') { - Install-PhpExtension -Extension $extension -Version $extension_version -MinimumStability $mininum_stability -Path $php_dir + Install-PhpExtension -Extension $extension -Version $extension_version -MinimumStability $stability -MaximumStability $stability -Path $php_dir } else { - Install-PhpExtension -Extension $extension -MinimumStability $mininum_stability -Path $php_dir + Install-PhpExtension -Extension $extension -MinimumStability $stability -MaximumStability $stability -Path $php_dir } Add-Log $tick $extension "Installed and enabled"