imagick readImage陷入系统错误事件黑洞

时间:2018-09-18 17:35:42

标签: php imagemagick wamp imagick

我正在尝试安装imagick(到目前为止并不是一件容易的事,但是在https://mlocati.github.io/articles/php-windows-imagick.html上使用[filter]极大地帮助了我)并在WAMP / Windows10 / PHP7.0 webapp上运行,但是我正在运行进入readImage()调用的黑洞(日志文件仅上升到“检查点2”)。

查看Windows系统事件日志,我可以看到错误级别应用程序事件的读数:

Faulting application name: httpd.exe, version: 2.4.23.0, time stamp: 0x5776399f
Faulting module name: php_imagick.dll, version: 7.0.10.0, time stamp: 0x58927660
Exception code: 0xc0000409
Fault offset: 0x000000000002468c
Faulting process ID: 0x4ba8
Faulting application start time: 0x01d44f71d980b2f3
Faulting application path: C:\wamp64\bin\apache\apache2.4.23\bin\httpd.exe
Faulting module path: C:\wamp64\bin\php\php7.0.18\ext\php_imagick.dll
Report ID: 1b3f5a6d-ed31-4fae-b73d-ebf0d17e9c94
Faulting package full name: 
Faulting package-relative application ID: 

通过我的WAMP运行以下代码时,就会出现此错误

<?php
class Test  {
public function doTrace($msgTx) {
    $dt=date('[D M d H:i:s Y]', gmdate(time()));
    error_log($dt.$msgTx."\n",3, "C:/test.log" );
}
public function doTest() {
    $fn='C:/test.pdf'; 
    if ( file_exists($fn) ) {
        $im = new Imagick();
        $this->doTrace("checkpoint 1");
        $im->setResolution(300, 300); 

        $this->doTrace("checkpoint 2");
        $im->readImage($fn."[0]");    //[0] for the first page

        $this->doTrace("checkpoint 3");
        $im->setImageFormat('png');

        $this->doTrace("checkpoint 4");
        header('Content-Type: image/png');
        echo $im;

        $this->doTrace("checkpoint 5");
    }
    else {
        echo "Did not find $fn";
    }
}
}

$try = new Test();
$try->doTest();

?>

这是我只是尝试阅读readImage(http://php.net/manual/en/imagick.readimage.php#116812)的手册条目的版本,所以这里出什么问题了?我是否错误地安装了Imagick(php_imagick-3.4.3-7.0-ts-vc14-x64)还是其他东西? (请注意,我可以使IM在一些简单的测试中工作)

我的phpinfo()读取:

 imagick
 imagick module enabled
 imagick module version 3.4.3
 imagick classes    Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
 Imagick compiled with ImageMagick version  ImageMagick 6.9.3-7 Q16 x64 2016-03-27 http://www.imagemagick.org
 Imagick using ImageMagick library version  ImageMagick 6.9.3-7 Q16 x64 2016-03-27 http://www.imagemagick.org
 ImageMagick copyright  Copyright (C) 1999-2015 ImageMagick Studio LLC
 ImageMagick release date   2016-03-27
 ImageMagick number of supported formats:   234
 ImageMagick supported formats  3FR, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CLIPBOARD, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPS, DPX, DXT1, DXT5, EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FITS, FPX, FRACTAL, FTS, G3, GIF, GIF87, GRADIENT, GRAY, GROUP4, GV, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCREENSHOT, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBP, WMF, WMV, WPG, X3F, XBM, XC, XCF, XPM, XPS, XV, YCbCr, YCbCrA, YUV

谢谢

安倍(Abe)

1 个答案:

答案 0 :(得分:0)

因此,在没有明显解决方案的情况下,我决定尝试换一个方向,看看是否可以通过命令行运行convert命令。这使我不得不安装Ghostscript(https://www.ghostscript.com/download/gsdnld.html)。

现在已经安装了Ghostscript,看来PHP现在正在运行-我得到了PDF第一页的图像。

我是否错过了安装说明(我不记得看到提到Ghostscript了吗?)?

A