2012-01-20 8 views
1

imagemagick convertはphp shell_execでは動作しませんが、シェルを通して動作します。imagemagick convertはphpで動作しません

シェルでconvert file.pdf file.pngが問題なく動作します。しかし、私はこれをPHPファイルの中に持っているときはshell_exec('convert file.pdf file.png');と出力しません。私はこれを行う権限を持っているので、それはそれが問題ではないと思います。私はgetcwd()を使ってディレクトリをチェックしましたが、これもOKです。

私は以前のコードでそれを使用していて、うまく動作するので、shell_execが動作することが分かりました。

アイデア?

+0

私はしばらく遊んでいて、何かを発見しました。シェルでwhoamiを実行すると、geoffが返されますが、php whoamiは誰も返しません。多分それは私の問題と関係しているのでしょうか? – Geoff

答えて

6

私は別のスレッドからのcrontabにsolution感謝を得ました。私はそこから引用:

[I]は、ImageMagickのを使用してPNGにPDFを変換しようとしているfは... スクリプトのPATHがdoesnの場合でも、ImageMagickののconvertへの完全なパスを使用して動作しません。 Ghostscriptへのパスの場所も含んでいます。 任意のユーザのパスをいじりがなければ、追加することができます:あなたのセットアップに応じて

putenv("PATH=/usr/local/bin:/usr/bin:/bin"); 

または類似のものを。 gs実行ファイルには がスクリプトユーザのパスに存在するか、ImageMagickが に変換されずにPDFまたはEPSファイルに変換されます。

+0

優れています。これを見つける前に約20種類の方法を試してみました。 –

0

convertのフルパス、つまりshell_exec('/usr/bin/convert file.pdf file.png);を試してください。 which convertを使用して、システム上の場所を見つけることができます。

+0

これを試しましたが、まだpngファイルが作成されていません。 – Geoff

+0

ソースファイルと宛先ファイルへの完全なパスも試してください。 – ceejayoz

+0

私は試しました、それは失敗しました! – Geoff

関連する問題