15

私はLionにHomebrewを使用してImagemagickをインストールしましたが、phpから呼び出されたときにまったく機能しないことを除いて、すべて問題ありません。コンソール:

$ convert -version
Version: ImageMagick 6.7.1-1 2011-07-29 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP   

$ which convert
/usr/local/bin/convert

PHP:

echo exec ('convert -version');

またはexec('convert -version'、$ output); var_dump($ output);

何も生成しません(または空の配列)。

exec ('/usr/local/bin/convert') // works, but
exec ('which convert') // doesn't

これをローカルでテストして、本番環境で変換を検出できることを確認する必要があります。しかし、私はそれを適切にテストすることはできません。PATHが設定され、ターミナルで機能しますが、PHPからは機能しません。

解決済み:

phpが機能するためには、これで解決したconvertはずです。/usr/bin/

ln -s /usr/local/bin/convert /usr/bin/convert

アップデート

これはMAMPのおかげで、修正は次のとおりです:http: //firedevcom.tumblr.com/post/22791937644/fix-for-homebrew-imagemagick-and-mamp

/ Applications / MAMP / Library / bin/envvarsを開きます

そして、次の行をコメントアウトします。

DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH

終わり。

4

6 に答える 6

6

あなたが投票できるように、ここに私自身の答えを追加してください:

これはMAMPが原因でした。修正は次のとおりです:http://firedevcom.tumblr.com/post/22791937644/fix-for-homebrew-imagemagick-and-mamp

開ける/Applications/MAMP/Library/bin/envvars

そして、次の行をコメントアウトします。

DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH

終わり。

于 2013-06-03T18:15:24.177 に答える
2
sudo ln -s /usr/local/bin/convert /usr/bin/convert
于 2012-06-20T11:01:11.270 に答える
1

単に使用するexec("PATH=\$PATH:/usr/local/bin; convert file.pdf file.png");と、実行時にPATHに変換が追加されます。

于 2012-07-05T08:52:26.267 に答える
1

convertinがサーバーのPATH環境変数であることを確認します。または、フルパスを指定するだけです。

exec('/usr/local/bin/convert -version');
于 2011-08-23T15:49:38.410 に答える
1

は、コマンドの結果から最後のexec行を返します。これはたまたま空の文字列です。出力を取得したい場合は、次のようにします。

exec('convert -version', $output);
var_dump($output); // it is an array which filled with every line of output from the command
于 2011-08-23T15:58:38.267 に答える
1

exec( "convert ....");の代わりに フルパスを使用します。ターミナルを入力して取得できます

タイプ変換

次のようなものが得られるはずです:convert is hashed(/ opt / local / bin / convert)

だから今使用します:

exec( "/ opt / local / bin / convert ....");

[@Nikkiへのクレジット]

その後コメントアウト

DYLD_LIBRARY_PATH = "/ Applications / MAMP / Library / lib:$ DYLD_LIBRARY_PATH" export DYLD_LIBRARY_PATH

/ Applications / MAMP / Library / bin/envvarsにあります

于 2013-06-11T08:00:41.570 に答える