2012-03-26 12 views
0

私は次のコードで奇妙な問題に遭遇しました:imagagemagickでPHPの接続をリセットする際のidentifyImage()?

$image = new Imagick($real_location); 
$ident = $image->identifyImage(); 
$format = $ident['colorSpace']; 

ほとんどの場合、これは大丈夫です。しかし、いくつかの写真では接続をリセットして、ページがタイムアウトしたように見えるようにしています。

写真の例は、72dpi、3008x2000、EXIFデータ、RGB、8ビットチャンネルのJPGです。

私は以下のようにそれを実行した場合、その罰金:

exec("identify -format %r ".$real_location,$output); 

しかし、私は離れてのexec(から滞在するperfer)と、可能な場合、ライブラリに固執しようとするだろう。

私はPHPのエラーログを見ていたし、次のように出くわした:

httpd: magick/option.c:1264: GetImageOption: Assertion `image_info != (ImageInfo *) ((void *)0)' failed. 
[Mon Mar 26 15:40:26 2012] [notice] child pid 1582 exit signal Aborted (6) 
+0

は 'ImagickException'をキャッチし、probem – safarov

+0

が、私はそれをどのように行うかいただきました!見てみては?私はウェブ上で/ etcを見つけることができません。それはそれを行うPHPのどこかにトグルや設定がありますか? – David

答えて

1

私はいくつかのさらなる調査を行なったし、私は何をしようとしていたが、画像がCMYKであるかどうかを確認します。私は、次のコードは、私の理由を固定することを見つけましたが、エラーを修正しない:

$image = new Imagick($real_location); 
$ident = $image->getImageColorspace(); 
if($ident == Imagick::COLORSPACE_CMYK) { 

} 
関連する問題