2011-10-23 12 views
3

私のホスティングプロバイダは最近サーバーをアップグレードしましたが、私はperlのimagemagickスクリプトに多くの問題があります。私のスクリプトは古いサーバー上では完璧に動作しましたが、新しいサーバーでは失敗しましたので、何がうまくいかないかを試してみるために基本に戻ってきました。perlmagick imagemagickエラー

サーバーはとしてImageMagickのを報告します。

Version: ImageMagick 6.7.2-2 2011-10-20 Q16 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC 
Features: OpenMP 

とPerlモジュールImage :: Magickのは、次のスクリプトは、私のサーバー上に保存されているバージョン6.72

です:

#!/usr/bin/perl 
use CGI::Carp qw(fatalsToBrowser); 

use Image::Magick; 

my $image = Image::Magick->new; 

$x = $image -> Set(size=>"200x200"); 
warn "$x" if "$x"; 

$x = $image -> ReadImage("canvas:black"); 
warn "$x" if "$x"; 

$x = $image -> Draw (
    stroke => "red", 
    primitive => "line", 
    points => "20,20 180,180"); 
warn "$x" if "$x"; 

print "Content-type: image/gif\n\n"; 
binmode STDOUT; 
$image -> write ("gif:-"); 

この次のエラーで失敗する:

[Sun Oct 23 11:02:32 2011] imtest.pl: Exception 420: no decode delegate for this image format `lack' @ error/constitute.c/ReadImage/532 at www/11/cgi-bin/imtest.pl line 12. 
[Sun Oct 23 11:02:32 2011] imtest.pl: Exception 410: no images defined `Draw' @ error/Magick.xs/XS_Image__Magick_Mogrify/7394 at www/11/cgi-bin/imtest.pl line 18. 

ReadImage("canvas:black")からReadImage("xc:black")に変更すると、スクリプトは出力なしで連続して実行されます。

私のwebhostは解決策を見つけようと努力していますが、ここで何か間違っているのか、imagemagickのインストールに問題があるのか​​を知る必要があります。

他の単純なモジュールでも上記のことができることに気付いていますが、これは問題がimagemagickかmy codeかどうかを判断する簡単な例です!

ありがとうございました。

よろしく、

ステュ

+0

問題は、サーバー上でImageMagickをしていました、私のホスティング事業は、問題を解決する方法はまだわからないですが、1つのCPUコアへのImageMagickを制限しますperlスクリプトは問題 –

答えて

0

IはImageMagickのバージョン6.3.7でWinXPのコマンドライン・モードで同様のエラーを受信しました。

私はこれに最初の数行を変更し、それが働いた:

my $image = Image::Magick->new(size=>"200x200"); 
die "Image::Magick->new failed" unless $image; 

my $x = $image->Read("xc:black"); 
warn "$x" if "$x"; 
+0

を解決しました。試してみましたが、残念なことに助けになりませんでした。私はUNIXのコマンドラインからスクリプトを実行していて、imagemagickがtmpファイルを作成しようとしているときにハングしているように見えるので、これはサーバー上のimagemagickのインストールにあると思う: –