Php Imagick readImage落入系统错误事件黑洞

Php Imagick readImage落入系统错误事件黑洞,php,imagemagick,wamp,imagick,Php,Imagemagick,Wamp,Imagick,我正在尝试安装imagick(到目前为止,这不是一项简单的任务,但使用上的[filter]帮助很大)并在我的WAMP/Windows10/PHP7.0 webapp上运行,但我在readImage()调用中遇到了一个黑洞(日志文件只会到达“checkpoint 2”) 查看Windows系统事件日志,我可以看到错误级别的应用程序事件读数: Faulting application name: httpd.exe, version: 2.4.23.0, time stamp: 0x5776399f

我正在尝试安装imagick(到目前为止,这不是一项简单的任务,但使用上的[filter]帮助很大)并在我的WAMP/Windows10/PHP7.0 webapp上运行,但我在readImage()调用中遇到了一个黑洞(日志文件只会到达“checkpoint 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();

?>
谢谢


Abe

因此,由于没有明显的解决方案,我决定尝试不同的方向,看看是否可以通过命令行运行convert命令。这迫使我不得不安装Ghostscript()

现在安装了Ghostscript,PHP似乎正在工作——我得到了PDF第一页的图像

我是否在安装说明中遗漏了这一点(我不记得曾经提到过Ghostscript)


A

您是否已逐步了解代码并知道错误发生在哪一行?例如,如果在此
$im=new Imagick()处触发错误当您尝试实例化Imagick时,您的Imagick配置/安装可能有问题。如果在尝试读取/操作文件时出错,则该文件可能已损坏,并且Imagick不知道该做什么,因此会出错。hth问题出在readImage()调用上(错误日志上升到“检查点2”;我可以通过Foxit Reader毫无问题地打开PDF。
 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