Skip to content

Commit 73ac824

Browse files
committed
Fix download pecl extensions with uppercase filenames
1 parent 1d3f24d commit 73ac824

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

extension-matrix/src/php-versions.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@ function get_extension() {
4141
if [[ "$EXTENSION_URL" = *"pecl.php.net"* ]] && [ -n "$EXTENSION_REF" ]; then
4242
extension="$(basename "$EXTENSION_URL")"
4343
curl -o "$directory/$extension-$EXTENSION_REF.tgz" -sL "https://pecl.php.net/get/$extension-$EXTENSION_REF.tgz"
44+
if ! [ -e "$directory/$extension-$EXTENSION_REF.tgz" ] || file "$directory/$extension-$EXTENSION_REF.tgz" | grep -q HTML; then
45+
extension_upper="$(echo "$extension" | tr '[:lower:]' '[:upper:]')"
46+
curl -o "$directory/$extension-$EXTENSION_REF.tgz" -sL "https://pecl.php.net/get/$extension_upper-$EXTENSION_REF.tgz"
47+
fi
48+
if ! [ -e "$directory/$extension-$EXTENSION_REF.tgz" ] || file "$directory/$extension-$EXTENSION_REF.tgz" | grep -q HTML; then
49+
echo "Extension $extension not found on PECL"
50+
exit 1
51+
fi
4452
tar -xzf "$directory/$extension-$EXTENSION_REF.tgz" -C "$directory"
4553
cp -a "$directory/$extension-$EXTENSION_REF"/* "$directory"
4654
else

extension/BuildPhpExtension/private/Get-Extension.ps1

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,14 @@ function Get-Extension {
2727
if($null -ne $ExtensionUrl -and $null -ne $ExtensionRef) {
2828
if ($ExtensionUrl -like "*pecl.php.net*") {
2929
$extension = Split-Path -Path $ExtensionUrl -Leaf
30-
Invoke-WebRequest -Uri "https://pecl.php.net/get/$extension-$ExtensionRef.tgz" -OutFile "$extension-$ExtensionRef.tgz" -UseBasicParsing
30+
try {
31+
Invoke-WebRequest -Uri "https://pecl.php.net/get/$extension-$ExtensionRef.tgz" -OutFile "$extension-$ExtensionRef.tgz" -UseBasicParsing
32+
} catch {}
33+
if(-not(Test-Path "$extension-$ExtensionRef.tgz")) {
34+
try {
35+
Invoke-WebRequest -Uri "https://pecl.php.net/get/$($extension.ToUpper())-$ExtensionRef.tgz" -OutFile "$extension-$ExtensionRef.tgz" -UseBasicParsing
36+
} catch {}
37+
}
3138
& tar -xzf "$extension-$ExtensionRef.tgz" -C $currentDirectory
3239
Copy-Item -Path "$extension-$ExtensionRef\*" -Destination $currentDirectory -Recurse -Force
3340
Remove-Item -Path "$extension-$ExtensionRef" -Recurse -Force

0 commit comments

Comments
 (0)