簡體   English   中英

當PDF涉及到PHP imagick錯誤

[英]php imagick error when pdf involved

當我嘗試通過PHP imagick將PDF的第一頁轉換為JPG時,在php_errors.log中沒有登錄時出現HTTP 500錯誤。

IIS中的解釋: FastCGI進程意外退出

錯誤代碼: 0xc0000417

C:\\Windows\\Temp中創建了兩個文件,第一個是PDF讀取的文件; 另一個是0 Kb長度。

我可以使用ImageMagick執行命令行轉換(轉換some.pdf some.jpg)。 因此,ImageMagick和GhostScript運行正常。 另外,我能夠從PHP腳本在JPG和GIF之間轉換。

PHP代碼:

$im = new Imagick();
$im->setResolution(300,300);
$im->readimage('poster.pdf[0]'); 
$im->setImageFormat('jpeg');    
$im->writeImage('poster.jpg'); 
$im->clear(); 
$im->destroy();

我的環境:

  • Windows 7專業版64位
  • IIS 7.5
  • 通過FastCGI的PHP 5.3.6 NTS VC9
  • PHP imagick擴展v.3.1.2(5.3 NTS VC9 x86,來自PECL)
  • ImageMagick-6.7.7-0-Q16-windows-dll(x86)
  • GhostScript 9.07 Win32(x86)
  • Microsoft Visual C ++ 2008可再發行的x86
  • ImageMagick的路徑已添加到PATH環境變量
  • 在文件夾C:\\Windows\\TempC:\\imagemagick授予IUSR和IIS_IUSRS的權限。

因此,有人可以給我一些指導來調試此錯誤並使之運行嗎?

正如Danack所建議的, 必須從imagick所在的位置下載ImageMagick。 必須尊重編譯器版本和處理器體系結構,以使其與PHP和GhospScript(在我的情況下為VC9,x86)相匹配。

但是,並非該存儲庫中可用的ImageMagick的所有版本都與imagick和/或GhostScript的版本一致。 就我而言,最終有效的組合(第二次嘗試)是:

  • imagick 3.1.2
  • ImageMagick 6.8.8
  • GhostScript 9.07

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM