Ich habe für das Reproduzieren ein kleines Programm geschrieben:
- Code: Select all
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$basename = 'test.txt';
$zip->addFromString($basename, 'file content goes here');
$res = $zip->setEncryptionName($basename, ZipArchive::EM_AES_256 ,'passwOrd');
if ($res === false) {
throw new RuntimeException('Set encryption failed with Error');
}
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
Ich habe XAMPP-VM installiert, dort liefert die Methode setEncryptionName eine "0" zurück und das Skript liefert, wenn nicht der Fehler wie im Skript abgefangen wird, ein unverschlüsseltes Zip-Archiv.
Zum Test habe ich dann XAMPP nativ auf den Mac installiert, dort liefert die Funktion keinen "0"-Wert und das Archiv wird verschlüsselt abgelegt.
Mein Verdacht: In der VM ist eine fehlerhafte Bibliothek eingebunden.
Hat jemand eine Idee / Anleitung, wie man diesen Fehler schnell in der VM beheben kann?
Viele Grüße
UHU