我正在尝试使用ImageMagick - 特别是Imagick()php类。我的进程爆炸有问题,但我的代码没有捕获异常。
$working_image = null;
try
{
if ( strlen($source_data) == 0)
throw new Exception ("Image file has zero bytes.");
$working_image = new \Imagick();
if ( !$working_image->readImageBlob( $source_data ) )
{
throw new Exception("ImageMagick problem interpreting data");
}
if ( !$working_image->setImageFormat('jpeg') )
{
throw new Exception("ImageMagick problem setting image format");
}
}
catch (ImageMagickException $ex)
{
Logger::err("ImageMagickException processing image $ord for $mlsid/$mlsno, replacing with 'Invalid' image");
}
catch (Exception $ex)
{
Logger::err("Exception processing image $ord for $mlsid/$mlsno, replacing with 'Invalid' image: " . $ex->getMessage() );
}
似乎IMagick()只是打印出“零大小的图像字符串传递”并且没有抛出异常,至少没有一个我有代码。我在日志中看到的只有:
Zero size image string passed
PIDFAIL queue_runner_loop pid=8912 exited with status code 1
我的捕获中的日志消息未被写出。这告诉我,Imagick()正在为stdout和dieing写点东西。
有什么建议吗?还有其他例外吗?