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