php 涉及 pdf 时出现 imagick 错误
php imagick error when pdf involved
当我尝试通过 PHP imagick 将 PDF 的第一页转换为 JPG 时,我收到 HTTP 500 错误且没有登录 php_errors.log。
来自 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();
我的环境:
- Windows7专业64位
- IIS 7.5
- PHP 5.3.6 NTS VC9 通过 FastCGI
- 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
- 添加到 PATH 环境变量的 ImageMagick 路径
- 在文件夹
C:\Windows\Temp
和 C:\imagemagick
中授予 IUSR 和 IIS_IUSRS 的权限。
所以,任何人都可以给我一些指导来调试这个错误并获得 运行 吗?
正如 Danack 所建议的,ImageMagick 必须 从 imagick 所在的相同位置下载。必须遵守编译器版本和处理器架构以匹配 PHP 和 GhospScript(在我的例子中是 VC9、x86)。
然而,并非此存储库中可用的所有 ImageMagick 版本似乎都与 imagick 和/或 GhostScript 的版本一致。在我的例子中,最终起作用的组合(第二次尝试)是:
- 想象 3.1.2
- ImageMagick 6.8.8
- GhostScript 9.07
当我尝试通过 PHP imagick 将 PDF 的第一页转换为 JPG 时,我收到 HTTP 500 错误且没有登录 php_errors.log。
来自 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();
我的环境:
- Windows7专业64位
- IIS 7.5
- PHP 5.3.6 NTS VC9 通过 FastCGI
- 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
- 添加到 PATH 环境变量的 ImageMagick 路径
- 在文件夹
C:\Windows\Temp
和C:\imagemagick
中授予 IUSR 和 IIS_IUSRS 的权限。
所以,任何人都可以给我一些指导来调试这个错误并获得 运行 吗?
正如 Danack 所建议的,ImageMagick 必须 从 imagick 所在的相同位置下载。必须遵守编译器版本和处理器架构以匹配 PHP 和 GhospScript(在我的例子中是 VC9、x86)。
然而,并非此存储库中可用的所有 ImageMagick 版本似乎都与 imagick 和/或 GhostScript 的版本一致。在我的例子中,最终起作用的组合(第二次尝试)是:
- 想象 3.1.2
- ImageMagick 6.8.8
- GhostScript 9.07