2012-04-03 5 views
0

はMacPortsのを使用して変換するには、次のパスを持っているのImageMagickをインストールされていない:ImageMagickのターミナルから実行しますが、PHP

は/ opt/local/binに/コマンドを実行

を変換する変換され$:

/opt/local/bin/convert pollination.jpg -resize 50% pollination2.jpg 

PHPでは動作しませんが、同じコマンドがTerminalで正常に動作し、ディレクトリにイメージが作成されます。

私が間違っていることはありますか? Imagickをインストールしておらず、したくないです。

ロバート

+0

問題のトラブルシューティングに役立つ特別な方法では機能しませんか。 –

+0

私は見ることができません。新しい画像は、絶対パスを与えても作成されません。ただし、コマンドラインで実行すると、期待される結果が得られます。 – rmccallum

+0

使用している正確なphpコマンドを追加できますか?ファイル名を指定しない場合は、ファイル名を指定する必要があります。 – Aurimas

答えて

0

私は全く同じ問題を抱えていました。どうやら、それはPHP/Apacheが適切にパスを設定していないことが原因です。あなたのPHPスクリプトの先頭にこれを追加することによって、それらを設定することができます。

$im_bin_dir = '/opt/local/bin'; //to get this, type "which convert" in terminal 
$im_lib_dir = '/opt/local/lib/ImageMagick-6.8.9'; //do an "ls -l" in /opt/local/lib to find your directory 
putenv('PATH='.getenv('PATH').':'.$im_bin_dir); 
putenv('DYLD_LIBRARY_PATH='.$im_lib_dir); 

テストするために、私は(もちろん$ IMAGE_PATHを設定した後)私のPHPスクリプトにこれを追加しました。そして、それはtest.gifファイルを生成しました!

$exec = 'convert logo: '.$image_path.'test.gif'; 
system($exec); 
関連する問題