尝试使用Imagick和PHP保存多个图像时服务器关闭

时间:2017-01-16 11:52:15

标签: php openshift fpdf imagick

我已经磕磕绊了几天。 我有一个想象对象$img,它在Web服务中读取两页的PDF格式。 我想将每个页面保存为jpg图片。

for($i = 0;$i < $num_pages; $i++){
   file_put_contents(logfile,"index = ".$i." \r\n\r\n",FILE_APPEND);
   $img->setIteratorIndex($i);
   $img->writeImage('workorders/'.$jobSFID.$i.".jpg");
}

file_put_contents(logfile,"test 7 \r\n\r\n",FILE_APPEND);

当我删除循环并仅保存一页时...一切顺利。 但是通过循环,保存两个页面,它会中断,永远不会到达test 7日志记录语句,并且会在某些时间提供503 server temporarily unavailable,有时会提供502 proxy error reading from remote server

1 个答案:

答案 0 :(得分:0)

您的代码可能存在另一个问题,即打开错误报告或查看相应的日志文件会显示,但是您的代码可能无法完成您想要的操作。

Altough设置“iteratorIndex”会影响图像序列中哪个图像是当前的,它实际上并不会将该特定图像分开。

将单个图像与Imagick::getImage分开以确保只写入一个页面应该更加可靠。

for($i = 0; $i < $num_pages; $i++){
   $img->setIteratorIndex($i);
   $pageImage = $img->getImage();
   $pageImage->writeImage('workorders/'.$jobSFID.$i.".jpg");
}