我在Windows Server 2008上安装了ImageMagick,IIS 6,Ghostscript和PHP 5.3.1,并尝试将PDF文件转换为JPG缩略图。
然而,它似乎没有工作 - 对exec()
的调用产生的返回码为1(根据我的理解,这意味着发生了一些常见错误)。输出变量只是一个空数组。 $output
只是一个空数组。如果我使用system()
而不是exec()
从命令行运行命令似乎有效,所以我最初的猜测是一个简单的权限问题...目录是PHP可写的,因为上传PDF到目录的脚本有效,我已经验证了每个人都有权写入该目录。
此外,安全模式已关闭。
关于问题可能是什么想法?
相关代码:
<?php
$output = array();
$ret = 0;
echo exec('convert D:\content\myfile.pdf[0] D:\content\myfile_thumb_1.jpg', $output, $ret);
var_dump($ret);
?>
注意:虽然我会在Mac OS X上的Apache上测试,但我似乎无法正确安装ImageMagick或Ghostscript。
我也确保了以下内容:
更新:
检查任务管理器后,convert.exe正在运行并占用CPU时间,向我建议它是某种类型的文件权限......我现在要检查它。
答案 0 :(得分:1)
事实证明,IIS中有一些权限问题 - 网站运行的用户与CMD的命令不同,这显然导致它无法在IIS下运行,因为它的权限低于CMD。