a) Server system: Apache/2.2.16 (Debian)
b) PHP-version: 5.3.3-7+squeeze14
c) SQL-version: 5.1.63-0+squeeze1
d) memory_limit: 1024M
e) max_execution_time: 500
f) Exact Joomla! version: 2.5.6
g) Exact Virtuemart version BEFORE update: 2.0.8e
h) Exact Virtuemart version of the update you want to: 2.0.10
i) Displayed error message: Extracting the update package failed. Please try updating the extension manually.
j) Any not writable directory Permissions? No
k) Optional: Any other info?
The problem seems to be that php does not recognize the zip file. I used this simple script to check this:
<?php
$zip = new ZipArchive;
$res = $zip->open('com_virtuemart_allinone.update.zip');
echo $res ."\n";
var_dump($res);
print_r($zip);
var_dump($zip);
if ($res === TRUE) {
$zip->extractTo('update/');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
The result is:
19
int(19)
ZipArchive Object
(
[status] => 0
[statusSys] => 0
[numFiles] => 0
[filename] =>
[comment] =>
)
object(ZipArchive)#1 (5) {
["status"]=>
int(0)
["statusSys"]=>
int(0)
["numFiles"]=>
int(0)
["filename"]=>
string(0) ""
["comment"]=>
string(0) ""
}
failed
The error code 19 above means (according to
http://www.php.net/manual/en/ziparchive.open.php)
ZIPARCHIVE::ER_NOZIP - 19
Not a zip archive.
The same problem occurs both for vm and aio packages.
The script above works OK with any other zip file. The normal result with another file is:
1
bool(true)
ZipArchive Object
(
[status] => 0
[statusSys] => 0
[numFiles] => 25
[filename] => /var/www/my.website.dir/tmp/pkg.zip
[comment] =>
)
object(ZipArchive)#1 (5) {
["status"]=>
int(0)
["statusSys"]=>
int(0)
["numFiles"]=>
int(25)
["filename"]=>
string(44) "/var/www/my.website.dir/tmp/pkg.zip"
["comment"]=>
string(0) ""
}
ok
The problem looks like the zip archive is created in some way that php can not recognize it.