0

Cakephp アプリ内の MAMP インストールで実行されている imagick に問題があります。

ここに示されているインストール手順に従いましたが、phpスクリプトでテストすると、クラス「Imagick」が存在するという意味でインストールが機能したようです(モジュールがphpinfoにロードされていることがわかります)。ただし、クラスを利用して実行する例は、コンテンツをエコーするとすぐにハングします。私の見解は次のとおりです。

<?php
    /* Create a new imagick object */
    $im = new Imagick();

    /* Create new image. This will be used as fill pattern */
    $im->newPseudoImage(50, 50, "gradient:red-black");

    /* Create imagickdraw object */
    $draw = new ImagickDraw();

    /* Start a new pattern called "gradient" */
    $draw->pushPattern('gradient', 0, 0, 50, 50);

    /* Composite the gradient on the pattern */
    $draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

    /* Close the pattern */
    $draw->popPattern();

    /* Use the pattern called "gradient" as the fill */
    $draw->setFillPatternURL('#gradient');

    /* Set font size to 52 */
    $draw->setFontSize(52);

    /* Annotate some text */
    $draw->annotation(20, 50, "Hello World!");

    /* Create a new canvas object and a white image */
    $canvas = new Imagick();
    $canvas->newImage(350, 70, "white");

    /* Draw the ImagickDraw on to the canvas */
    $canvas->drawImage($draw);

    /* 1px black border around the image */
    $canvas->borderImage('black', 1, 1);

    /* Set the format to PNG */
    $canvas->setImageFormat('png');

    /* Output the image */
    header("Content-Type: image/png");
    echo $canvas;
    ?>

このスクリプトは、 が検出されるとすぐにハングしますecho $canvasスクリプトは、通常の古い php ファイル、つまり Cake の外部で完全に機能しますが、cakephp アプリ アクションを介してアクセスするとハングします。私のアクションコードは次のとおりです。

public function test(){

            $this->layout = false;
    }

Cake エラー ログが空です。

4

1 に答える 1