【发布时间】:2015-10-10 21:20:12
【问题描述】:
我使用的是 Win Server 2012 IIS 8、PHP 5.6、Imagick Module 3.1.2、ImageMagick 6.8.7-2 2013-10-18 Q16。
我已阅读所有 Postscript 委托失败的错误,并执行了以下操作: - 安装了 GhostScript - 检查 GS 和 Imagick 是否在 PATH 变量中 - 检查我是否可以在命令提示符下使用转换(有效) - PHP exec("whoami") 返回我为完全控制添加的 nt authority\iusr - 我尝试使用完整路径反斜杠 () 双反斜杠 (\) 正斜杠 (/) - 我认为它与路径没有任何关系,因为如果我在没有路径的 jpg 上尝试相同的代码,它就可以工作。脚本和文件在同一路径中。
这是我的 PHP 代码:
<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL);
echo exec("whoami"); echo "<br/>";
echo exec("convert.exe dr.pdf dr.jpg 2>&1"); // Does not work and gives below error
echo "<br/>";
$im = new imagick();
$im->readimage("dr.pdf");
$pages = $im->getNumberImages();
echo $pages;
?>
输出:
nt authority\iusr convert.exe: 没有定义图像 `dr.jpg' @ 错误/convert.c/ConvertImageCommand/3145.
致命错误:带有消息的未捕获异常“ImagickException” '后记委托失败`dr.pdf':没有这样的文件或目录@ D:\WWW\DEMO\data\temp\test.php:13 中的错误/pdf.c/ReadPDFImage/682' 堆栈跟踪:#0 D:\WWW\DEMO\data\temp\test.php(13): Imagick->readimage('dr.pdf') #1 {main} 投入 D:\WWW\DEMO\data\temp\test.php 第 13 行
任何帮助将不胜感激。 问候 约翰
【问题讨论】: