我正在尝试通过 exec() 或 passthru() 批量运行 ImageMagick 我已经更改了 cmd.exe 和 ImageMagick 文件夹的安全设置。这些是我当前的设置。
C:\ImageMagick-6.5.3-Q8 BUILTIN\Administrators:(OI)(CI)F
COMPUTERNAME\IUSR_myusername:(OI)(CI)R
NT AUTHORITY\SYSTEM:(OI)(CI)R
BUILTIN\Users:(OI)(CI)R
C:\WINDOWS\system32\cmd.exe COMPUTERNAME\TelnetClients:R
COMPUTERNAME\psaadm:R
COMPUTERNAME\psacln:R
COMPUTERNAME\psaserv:R
NT AUTHORITY\INTERACTIVE:R
NT AUTHORITY\SERVICE:R
NT AUTHORITY\SYSTEM:F
BUILTIN\Administrators:F
COMPUTERNAME\IUSR_myusername:R
完成此操作后,这是我尝试运行的实际脚本:
error_reporting(E_ALL);
define("ABSOLUTE_PATH", "C:\\Inetpub\\vhosts\\myusername.com\\httpdocs\\online");
define("IMAGE_MAGICK_CONVERT", "C:\ImageMagick-6.5.3-Q8\convert.exe");
echo(IMAGE_MAGICK_CONVERT . " " . ABSOLUTE_PATH . "\\convert\\myfile1.jpg " . ABSOLUTE_PATH . "\\convert\\myfile1.pdf");
echo exec("cmd /c " . IMAGE_MAGICK_CONVERT . " " . ABSOLUTE_PATH . "\\convert\\myfile1.jpg " . ABSOLUTE_PATH . "\\convert\\myfile1.pdf 2>&1");
passthru(IMAGE_MAGICK_CONVERT . " " . ABSOLUTE_PATH . "\\convert\\myfile1.jpg " . ABSOLUTE_PATH . "\\convert\\myfile1.pdf 2>&1");
所以我仍然收到“访问被拒绝”的提示。请帮忙...
答案1
跑步进程监控并观察到底哪个操作失败了。它很可能正在写入 ABSOLUTE_PATH\Convert 目录。
答案2
您没有在 中将反斜杠加倍IMAGE_MAGICK_CONVERT
。
答案3
我终于修好了它..正如预期的那样,这是由于安全问题造成的......