1

Не уверен, стоит ли это публиковать здесь или в stackoverflow, поэтому решил, что это была более безопасная ставка. Я использую Imagick для изменения размера JPEG. Это часть кода

$prehintSize = (int) $requestedWidth > $requestedHeight ? $requestedWidth : $requestedHeight;
$imgckObj = new Imagick();
$imgckObj->setOption('jpeg:size', $prehintSize . 'x' . $prehintSize);
$imgckObj->readImage($sourceFilePath);

В основном $imgckObj->setOption('jpeg:size', $prehintSize . 'x' . $prehintSize); используется, чтобы дать libjpeg подсказку, какая часть файла должна быть загружена в ОЗУ, что приводит к увеличению производительности почти в 10 раз. Это прекрасно работает на моих серверах под управлением Ubuntu с PHP, работающим под Apache. На моем другом сервере под управлением CentOS с PHP, работающим через suPHP, в то время как код все еще работает, его, очевидно, игнорируют, поскольку он вообще не ускоряется. Мне интересно, если это ограничение, которое я не могу обойти из-за suPHP или мне просто нужно настроить что-то еще.

Я думаю, что это уже было, но в случае, если это может быть частью проблемы, я запускаю ImageMagick 6.5.4-7 на centos, так как это последняя версия, которую yum будет тянуть. Для Ubuntu я использую ImageMagick 6.6.9-7 Спасибо за вашу помощь.

1 ответ1

1

Похоже, версия Imagemagick является проблемой. Посмотрев журнал изменений imagemagick.org/script/changelog.php 6.5.6-2 добавил обязательный параметр.

Я обновил Imagemagick, скомпилировав его из исходного кода, используя следующие инструкции: http://equella.custhelp.com/app/answers/detail/a_id/10272 Он был установлен в /usr /bin /local, поэтому вам может понадобиться создать символическую ссылку на /usr /bin, чтобы все заработало. Теперь я снова получил повышение производительности :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .