我有以下脚本在PHP中上传PDF并调用ImageMagik / Ghostscript转换为指定大小的图像。
$tmp = exec("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"", $results);
但是,这似乎不起作用。日志文件中没有错误,屏幕上没有错误。如果我执行以下操作,
$tmp = exec("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"", $results);
echo ("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"");
我将输出粘贴到命令提示符下它工作正常(大约需要6-10秒 - 我的max_execution_time是600。
有关为什么这可能不起作用的任何建议?
这是Windows,IIS 7和PHP5。
编辑:我在CentOS和Windows中遇到同样的问题。两者都安装了ImageMagik和Ghostscript。
编辑编辑,下面仍然失败。
$handle = popen("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"","r");
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
答案 0 :(得分:5)
尝试在命令末尾添加2>& 1。我找到了here。
exec('some_command 2>&1', $output);
print_r($output); // to see the respond to your command
答案 1 :(得分:1)
答案 2 :(得分:1)
你的PATH变量会出现问题吗?
您可能想尝试运行
<?php
echo exec('cmd.exe /c echo %path%');
?>
在命令行和IIS中,并比较它们的输出。