Я пытаюсь сделать обрезку анимированного GIF на VDS с этой конфигурацией:
~ 800 МГц и 256 ОЗУ
И это не работает. Он просто съедает память и процессор и через минуту не отвечает.
http://i192.photobucket.com/albums/z228/Somebi/no-responce.jpg
http://imm.io/1OID
На локальной машине я создал виртуальную машину с 256 RAM.
Все работает хорошо, но немного медленно, я должен признать ...
Но у меня Duo Core 7400 на локальной машине.
Я попытался ограничить использование памяти на VDS с помощью следующих настроек:
$gif = new Imagick($s['src']);
set_time_limit(0);
$gif->setResourceLimit(Imagick::RESOURCETYPE_MEMORY,32);
$gif->setResourceLimit(Imagick::RESOURCETYPE_MAP,64);
// echo $gif->getResourceLimit(Imagick::RESOURCETYPE_MEMORY);
// echo $gif->getResourceLimit(Imagick::RESOURCETYPE_MAP);
// echo $gif->getResourceLimit(Imagick::RESOURCETYPE_FILE);
// echo $gif->getResourceLimit(Imagick::RESOURCETYPE_DISK);
// echo $gif->getResourceLimit(Imagick::RESOURCETYPE_AREA);
// exit;
$gif = $gif->coalesceImages();
foreach($gif as $frame){
$frame->cropImage($s['params']['w'], $s['params']['h'], $s['params']['x'], $s['params']['y']);
$frame->setImagePage($s['params']['w'], $s['params']['h'], 0, 0);
}
$gif->writeImages($s['dest_path'] .'/'. $fullname,true);
Но могу ли я ограничить использование процессора?
И есть ли решение для медленного VDS? : |
Спасибо всем!
Обновление:
print_r(getimagesize($s['src']));
exit;
$gif = new Imagick($s['src']);
etc...
Array
(
[0] => 530
[1] => 150
[2] => 1
[3] => width="530" height="150"
[bits] => 8
[channels] => 3
[mime] => image/gif
)
Update2:
pathinfo($s['src'])
(
[dirname] => images/tmp
[basename] => 43138a0723d6ae0799564bd6acb8c7b83c8df483.gif
[extension] => gif
[filename] => 43138a0723d6ae0799564bd6acb8c7b83c8df483
)
Update3:
Как отладить расширение imagick? (
Нашли этот пакет:
http://fr2.rpmfind.net/linux/RPM/fedora/updates/testing/13/i386/debug/php-pecl-imagick-debuginfo-3.0.0-5.fc13.i686.html
Кто-нибудь пробовал?