Недавно я внес некоторые изменения в приложение codeigniter, которое я поддерживаю, и мне пришлось добавить новый размер эскиза для его пользователей.
Так что в основном исходный код выглядел следующим образом.
$pic_thumb = new Imagick($targetFile);
$pic_thumb->thumbnailImage(40,40,Imagick::FILTER_LANCZOS,1);
$pic_thumb->writeImage($thumbnail . $newf_name);
$thumbnail_file = $thumbnail . $newf_name;
$pic_thumb->destroy();
И я только что добавил новый блок, чтобы создать новый эскиз.И это отлично сработало на моем производственном сервере разработки.Переместив его в производство, я увидел, что эскизы не масштабируются.поэтому я проверил журналы и увидел следующее:
PHP Warning: Imagick::thumbnailimage() expects at most 3 parameters, 4 given
Не было обновлений или изменений программного обеспечения, за исключением того, что приложение и даже восстановление предыдущей версии сбрасывают эту ошибку, и даже документация показывает, что она можетпринять до 4 параметров.
bool Imagick::thumbnailImage ( int $columns , int $rows [, bool $bestfit = false [, bool $fill = false ]] )
Если я сделаю что-то вроде
$pic_thumb->thumbnailImage(40,40,0);
Работает, но я не получаю тот же эффект, так как заливка отключена.
Кстати сервер работает Php 5.3.2
Может кто-нибудь пролить мне свет на эту проблему?