Перейти к основному содержимому
Версия: 7.0

Windows Server

осторожно

Перед обновлением PHP, если Пассворк установлен в облачной/виртуальной среде, создайте снимок виртуального состояния ОС для восстановления работоспособности в случае некорректного обновления.

Получение архива

Откройте веб-браузер на сервере, где установлен Пассворк, и перейдите по ссылке для получения PHP 8.3 — https://repos.passwork.ru/repository/windows_packages/php_build/83/php_latest.zip

к сведению

Обратите внимание, данный архив включает в себя версию PHP x64.

Распакуйте содержимое архива в — C:\Program Files\:

Пример разархивирования PHP 8.3

Изменение версии

Перейдите в — Диспетчер СерверовСредства»Диспетчер служб IIS:

Поиск пароля в расширении

Раскройте веб-сайт Пассворк и перейдите в — Администратор PHP:

Пример открытия Администратор PHP

Зарегистрировать новую версию PHP прописав путь — C:\Program Files\php8.3\php-cgi.exe:

Расположение php-cgi.exe

Перейти в — Включить или выключить расширения и активировать дополнительные модули:

Пример активированных расширений PHP

Перезапустите веб-сайт с Пассворком:

Перезапуск веб-сайта с Пассворком

Удалить устаревшие PHP версии из переменного окружения PATH с помощью PowerShell:

function Remove-OldPhpPaths($target) {
$envRecords = [System.Environment]::GetEnvironmentVariable("Path", $target) -split ";"
$phpPathsToRemove = $envRecords | Where-Object {
($_ -imatch "php") -and ((Split-Path $_ -Leaf) -imatch '^(?:v?(?:php)?)?(?<version>\d+\.\d+)$')
}

if ($phpPathsToRemove.Count -gt 0) {
$newPath = $envRecords | Where-Object { $phpPathsToRemove -notcontains $_ }
[System.Environment]::SetEnvironmentVariable("Path", ($newPath -join ";"), $target)
Write-Host "Устаревшая версия PHP удалена из переменного окружения PATH" -ForegroundColor Green
} else {
Write-Host "Устаревшая версия PHP не найдена в переменном окружении PATH"
}
}

Remove-OldPhpPaths "User"
Remove-OldPhpPaths "Machine"

Добавить PHP в переменное окружение PATH с помощью PowerShell:

[System.Environment]::SetEnvironmentVariable("PATH", [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine) + ";C:\Program Files\php8.3", [System.EnvironmentVariableTarget]::Machine)
$env:Path = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine)