我在 Windows 2008 Server 机上安装了 Ghostscript、ImageMagick 和 IIS 5.0。
我还有一个 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);
?>
我已经确定问题在于,当从 Web 浏览器调用该脚本时,该脚本以用户 IUSR_[COMPUTERNAME] 的身份运行。
作为我的管理员帐户,该命令已从 CMD 行成功执行(呃)。
我必须更改哪些权限才能允许脚本/IUSR 用户生成缩略图?
我尝试更改以下权限:
- GhostScript 程序文件目录(允许执行、写入、读取)
- ImageMagick 目录(允许执行、写入、读取)
- 缩略图所在的上传目录(允许读取、写入)
通过 Windows 资源管理器,右键单击目录、属性,然后单击“安全”选项卡。我将权限添加到 [COMPUTERNAME]/Guests,因为 IUSR_[COMPUTERNAME] 位于 Guest 组下。
我对 IIS 或 Windows 不太熟悉,所以不知道这一点,但您是否必须重新启动计算机才能更新权限,还是在我应用更改后它就可以正常工作?有重新启动 IIS 服务。
注意:我已删除上述帖子中的完整计算机名称并将其替换为 [COMPUTERNAME]