2019-09-06 06:47:43 +07:00
|
|
|
param (
|
|
|
|
[Parameter(Mandatory=$true)][string]$version = "7.3"
|
|
|
|
)
|
|
|
|
|
2019-09-09 07:11:17 +07:00
|
|
|
if($version -eq '7.4') {
|
2019-09-17 22:10:27 +07:00
|
|
|
$version = '7.4RC'
|
2019-09-09 07:11:17 +07:00
|
|
|
}
|
2019-09-21 23:06:03 +07:00
|
|
|
|
2019-09-06 06:47:43 +07:00
|
|
|
echo "Installing PhpManager"
|
|
|
|
Install-Module -Name PhpManager -Force -Scope CurrentUser
|
2019-09-17 22:10:27 +07:00
|
|
|
|
2019-09-21 23:06:03 +07:00
|
|
|
$installed = $($(php -v)[0] -join '')[4..6] -join ''
|
2019-09-17 22:10:27 +07:00
|
|
|
if($installed -ne $version) {
|
|
|
|
if($version -lt '7.0') {
|
2019-09-21 23:06:03 +07:00
|
|
|
echo "Installing VcRedist"
|
2019-09-17 22:10:27 +07:00
|
|
|
Install-Module -Name VcRedist -Force
|
|
|
|
}
|
|
|
|
echo "Installing PHP"
|
|
|
|
Uninstall-Php C:\tools\php
|
2019-09-21 23:06:03 +07:00
|
|
|
Install-Php -Version $version -Architecture x86 -ThreadSafe $true -InstallVC -Path C:\tools\php$version -TimeZone UTC -InitialPhpIni Production -Force
|
2019-09-17 22:10:27 +07:00
|
|
|
echo "Switch PHP"
|
|
|
|
(Get-PhpSwitcher).targets
|
|
|
|
Initialize-PhpSwitcher -Alias C:\tools\php -Scope CurrentUser -Force
|
|
|
|
Add-PhpToSwitcher -Name $version -Path C:\tools\php$version -Force
|
|
|
|
Switch-Php $version -Force
|
2019-09-21 23:06:03 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
echo "Housekeeping in PHP.ini, enabling openssl"
|
|
|
|
Add-Content C:\tools\php\php.ini "date.timezone = 'UTC'"
|
|
|
|
Set-PhpIniKey extension_dir C:\tools\php\ext
|
|
|
|
if($version -lt '7.4') {
|
|
|
|
Enable-PhpExtension openssl
|
|
|
|
} else {
|
|
|
|
Add-Content C:\tools\php\php.ini "extension=php_openssl.dll"
|
2019-09-09 07:11:17 +07:00
|
|
|
}
|
2019-09-17 22:10:27 +07:00
|
|
|
|
2019-09-06 06:47:43 +07:00
|
|
|
echo "Installing Composer"
|
2019-09-07 19:31:50 +07:00
|
|
|
Install-Composer -Scope System -Path C:\tools\php
|
2019-09-24 20:25:45 +07:00
|
|
|
$ext_dir = Get-PhpIniKey extension_dir
|
2019-09-06 06:47:43 +07:00
|
|
|
php -v
|
|
|
|
composer -V
|