Zum Hauptinhalt springen

Windows Server

gefahr

Erstellen Sie vor dem PHP-Update, wenn Passwork in einer Cloud-/virtuellen Umgebung installiert ist, einen Snapshot des virtuellen Betriebssystemzustands, um die Funktionalität bei einem fehlerhaften Update wiederherstellen zu können.

Herunterladen von PHP​

Öffnen Sie einen Webbrowser auf dem Server, auf dem Passwork installiert ist, und rufen Sie den Link auf, um PHP 8.3 herunterzuladen — https://repos.passwork.pro/repository/windows_packages/php_build/83/php_latest.zip

info

Bitte beachten Sie, dass dieses Archiv die x64-Version von PHP enthält.

Entpacken Sie den Inhalt des Archivs nach — C:\Program Files\:

Versionswechsel​

Gehen Sie zu — Server Manager → Tools → IIS Manager:

Searching password by browser extension

Erweitern Sie die Passwork-Website und gehen Sie zu — PHP Manager:

Beispiel für das Öffnen des PHP Managers

Registrieren Sie die neue PHP-Version, indem Sie den Pfad angeben — C:\Program Files\php8.3\php-cgi.exe:

Speicherort von php-cgi.exe

Gehen Sie zu — Turn On or Off Extensions und aktivieren Sie zusätzliche Module:

Beispiel für aktivierte PHP-Erweiterungen

Starten Sie die Passwork-Website neu:

Neustart der Passwork-Website

Entfernen Sie veraltete PHP-Versionen aus der PATH-Umgebungsvariable mit 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 "Outdated PHP version removed from the PATH environment variable" -ForegroundColor Green
} else {
Write-Host "Outdated PHP version not found in the PATH environment variable"
}
}

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

Fügen Sie PHP zur PATH-Umgebungsvariable mit PowerShell hinzu:

[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)