Преобразование функции обрезки PhMagick с отключенной отладкой
Сейчас я нахожусь в процессе переключения моего сайта с одного хоста на другой, и phMagick работает на новом сервере. У меня есть страница, которая позволяет пользователям загружать изображение через ajax, и сервер использует phMagick для обрезки изображения, затем создает несколько версий с измененным размером и загружает их в S3. Сейчас это работает отлично, за исключением того, что convert
команда, используемая для обрезки изображения, отражена, и javascript не знает, как с этим справиться, потому что он нарушает формат ответа JSON.
Вот соответствующая часть серверного скрипта:
require_once(BASE_PATH . "/library/phmagick/phmagick.php");
$phmagick = new phMagick( "{$base}{$uncropped}", "{$base}{$cropped}" );
$phmagick->debug = false;
$phmagick->setImageQuality(100);
$phmagick->crop( $dimensions['width'], $dimensions['height'], $dimensions['y'], $dimensions['x'], 'NorthWest' );
//Generate the large
$phmagick->setSource("{$base}{$cropped}");
$phmagick->setDestination("{$base}{$large}");
$phmagick->resize(640, 640);
//Generate the small
$phmagick->setDestination("{$base}{$small}");
$phmagick->resize(220, 220);
//Generate the thumbnail
$phmagick->setDestination("{$base}{$thumbnail}");
$phmagick->resize(100, 100);
Как видите, для отладки установлено значение false, и я ничего не повторяю. Вот вывод, который портит мой JavaScript:
convert $snip_path/10001_uncropped.jpg -gravity NorthWest -crop 399x399+71+0 $snip_path/10001_cropped.jpg{$json_response}
Как ни странно, вы можете видеть, что я обрезаю изображение, затем изменяю его размер 3 раза, но выводится только обрезка, подобная этой. Кроме того, он выводит только саму команду, и ничего похожего на "Произошла ошибка". Я не вижу ничего в phMagick_crop
класс, который выглядит так, как будто он может отвечать за сообщение.
Что еще это может быть? Я ничего не вижу в своем коде, и я не вижу ничего в коде phMagick. Я не знаю, где еще искать.
1 ответ
Неважно, я идиот. Я использую phMagick на двух разных сайтах, поэтому я проверял источник, который был более удобным. Оказывается, две копии не были идентичны. В какой-то момент кто-то добавил echo $ cmd в класс кропа, чтобы отладить его, и забыл его убрать.