2

私の環境は: MacOSX 10.8.3, PHP 5.3.17, ImageMagick 6.8.0, Apache 2.2.22

Macports を使用して ImageMagick と PHP-Imagick モジュールをインストールしました。

ImageMagick は期待どおりに機能します。たとえば、コンソール コマンドを使用して JPG を GIF に変換できconvert /my-path/file.jpg file.gifます。

ただし、次のサンプル コードを使用して新しい Imagick インスタンスを作成すると、次のようになります。

<?php
  $m = new Imagick('/my-path/file.jpg');

私は例外を受け取ります:

NoDecodeDelegateForThisImageFormat `/my-path/file.jpg' @ error/constitute.c/ReadImage/550

ファイルの形式によって結果が変わることはありません。さまざまな JPG、GIF、および PNG 画像をテストしましたが、同じ例外が発生します。

したがって、PHP/Apache - ImageMagick の統合部分に多少の欠陥があるのではないかと思います。

SO でこの投稿を見て、指定された解像度を適用しました (環境変数 "MAGICKCODERMODULE_PATH" を値 "/opt/local/lib/ImageMagick-6.8.0/modules-Q16/coders" に追加) が、意味がありませんでした私の場合。(私のphpinfoからこの環境変数の存在を確認しました)

私のシステムでのいくつかのコマンドの出力:

提案をいただければ幸いです。

Apache の構成、環境、および PHPImagick の構成

4

2 に答える 2

1

私もそこにいました、これが私がそれを解決した方法です:

<?php    

    define("IMAGE_MAGICK_PATH","/usr/local/bin/");
    $in = '/my-path/file.jpg';
    $out = '/my-path/file.gif';
    $convertString = IMAGE_MAGICK_PATH." convert ".$yourfile." ".$out;
    exec($convertString);

それが役に立てば幸い

于 2013-07-19T11:14:47.723 に答える