2

OSXの下にApache Webサーバーがあり、ImageMagickがインストールおよび構成されています。ターミナルから ImageMagick コマンドを実行しようとすると正常に動作しますが、PHP の exec または shell_exec で実行しようとすると動作しません。

それが私がしていることです: 環境変数を設定します:

apache_setenv("PATH", "/etc/ImageMagick-6.8.1/bin:".apache_getenv("PATH"));

いくつかのコマンドを実行してみてください:

exec('convert -version', $imgkOut);

$imgkOut 配列は常に空です。

「convert ...」と「/etc/ImageMagick-6.8.1/bin/convert ...」の両方のパスを設定しようとしましたが、何も役に立ちません。

Apache ログ ファイルに次のエラーが見つかりました。

sh: convert: command not found

最初のケース、そしてこれ:

sh: /etc/ImageMagick-6.8.1/bin/convert: Permission denied

第二に。

私は何を間違っていますか?

4

2 に答える 2

1
  1. http://php.net/manual/en/book.imagick.phpを見ましたか?
  2. macports から imagemagick をインストールしてみてください - http://www.macports.org/ports.php?by=name&substr=imagemagick
  3. convert exec をチェックします (おそらくファイルには +x フラグがないので、chmod +x convert だけです)
于 2013-02-20T09:55:59.600 に答える
0

発生しているエラーは、次のことを意味します。

  1. apache_setenv コマンドが機能していません。
  2. Web ユーザーには、コマンドを実行する権限がありません。

もしあなたがそうするなら

    cd /etc/ImageMagick-6.8.1/bin
    chmod +x convert

完全なパスを指定する 2 番目のバージョンで再試行すると、機能するはずです。

于 2013-02-20T10:06:45.393 に答える