Cache replaced Windows extensions by their installed version

This commit is contained in:
Shivam Mathur
2026-09-16 11:25:07 +05:30
parent 5eaed2e30b
commit 25618cc48e
+5 -3
View File
@@ -144,8 +144,10 @@ Function Add-Extension {
} }
# If extension for a different version exists # If extension for a different version exists
if(Test-Path $ext_dir\php_$extension.dll) { if(Test-Path $ext_dir\php_$extension.dll) {
Move-Item $ext_dir\php_$extension.dll $ext_dir\php_$extension.bak.dll -Force -ErrorAction Stop # Keep backups outside PhpManager's DLL scan and reuse known versions as cache entries.
$extension_backup = "$ext_dir\php_$extension.bak.dll" $backup_name = if($extension_info.Version) { "$extension-$($extension_info.Version)" } else { "$extension.bak" }
Move-Item $ext_dir\php_$extension.dll "$ext_dir\$backup_name" -Force -ErrorAction Stop
$extension_backup = "$ext_dir\$backup_name"
} }
Install-PhpExtension @params Install-PhpExtension @params
Set-ExtensionPrerequisites $extension Set-ExtensionPrerequisites $extension
@@ -157,7 +159,7 @@ Function Add-Extension {
} }
} catch { } catch {
if($extension_backup -ne '') { if($extension_backup -ne '') {
Move-Item $extension_backup "$ext_dir\php_$extension.dll" -Force Copy-Item $extension_backup "$ext_dir\php_$extension.dll" -Force
} }
Add-Log $cross $extension "Could not install $extension on PHP $( $installed.FullVersion )" Add-Log $cross $extension "Could not install $extension on PHP $( $installed.FullVersion )"
} }