我在 cakephp 应用程序中的 MAMP 安装上运行 imagick 时遇到问题。
我已按照此处指示的安装说明进行操作,如果我在 php 脚本中对其进行测试(我可以看到模块已加载到 phpinfo 中),则安装似乎对我来说存在“Imagick”类。但是,只要我回显任何内容,我使用该类运行的任何示例都会挂起。我的看法是:
<?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 错误日志为空。