1 $ErrorActionPreference = "Stop" 2 3 if (-not (Test-Path 'C:\build-cache')) { 4 [void](New-Item 'C:\build-cache' -ItemType 'directory') 5 } 6 7 # PHP SDK 8 $bname = "php-sdk-$env:BIN_SDK_VER.zip" 9 if (-not (Test-Path C:\build-cache\$bname)) { 10 Invoke-WebRequest "https://github.com/microsoft/php-sdk-binary-tools/archive/$bname" -OutFile "C:\build-cache\$bname" 11 } 12 $dname0 = "php-sdk-binary-tools-php-sdk-$env:BIN_SDK_VER" 13 $dname1 = "php-sdk-$env:BIN_SDK_VER" 14 if (-not (Test-Path "C:\build-cache\$dname1")) { 15 Expand-Archive "C:\build-cache\$bname" "C:\build-cache" 16 Move-Item "C:\build-cache\$dname0" "C:\build-cache\$dname1" 17 } 18 19 # PHP devel pack 20 $ts_part = '' 21 if ('0' -eq $env:TS) { 22 $ts_part = '-nts' 23 } 24 $bname = "php-devel-pack-$env:PHP_VER$ts_part-Win32-$env:VC-$env:ARCH.zip" 25 if (-not (Test-Path "C:\build-cache\$bname")) { 26 try { 27 Invoke-WebRequest "https://windows.php.net/downloads/releases/archives/$bname" -OutFile "C:\build-cache\$bname" 28 } catch [System.Net.WebException] { 29 Invoke-WebRequest "https://windows.php.net/downloads/releases/$bname" -OutFile "C:\build-cache\$bname" 30 } 31 } 32 $dname0 = "php-$env:PHP_VER-devel-$env:VC-$env:ARCH" 33 $dname1 = "php-$env:PHP_VER$ts_part-devel-$env:VC-$env:ARCH" 34 if (-not (Test-Path "C:\build-cache\$dname1")) { 35 Expand-Archive "C:\build-cache\$bname" 'C:\build-cache' 36 if ($dname0 -ne $dname1) { 37 Move-Item "C:\build-cache\$dname0" "C:\build-cache\$dname1" 38 } 39 } 40 $env:PATH = "C:\build-cache\$dname1;$env:PATH" 41 42 # PHP binary 43 $bname = "php-$env:PHP_VER$ts_part-Win32-$env:VC-$env:ARCH.zip" 44 if (-not (Test-Path "C:\build-cache\$bname")) { 45 try { 46 Invoke-WebRequest "https://windows.php.net/downloads/releases/archives/$bname" -OutFile "C:\build-cache\$bname" 47 } catch [System.Net.WebException] { 48 Invoke-WebRequest "https://windows.php.net/downloads/releases/$bname" -OutFile "C:\build-cache\$bname" 49 } 50 } 51 $dname = "php-$env:PHP_VER$ts_part-Win32-$env:VC-$env:ARCH" 52 if (-not (Test-Path "C:\build-cache\$dname")) { 53 Expand-Archive "C:\build-cache\$bname" "C:\build-cache\$dname" 54 } 55 $env:PHP_PATH = "C:\build-cache\$dname" 56 $env:PATH = "$env:PHP_PATH;$env:PATH" 57 58 # library dependency 59 $bname = "$env:DEP-$env:VC-$env:ARCH.zip" 60 if (-not (Test-Path "C:\build-cache\$bname")) { 61 Invoke-WebRequest "https://windows.php.net/downloads/pecl/deps/$bname" -OutFile "C:\build-cache\$bname" 62 Expand-Archive "C:\build-cache\$bname" 'C:\build-cache\deps' 63 } 64 $env:PATH = "C:\build-cache\deps\bin;$env:PATH" 65