我有以下脚本,在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。
对于为什么这可能不起作用,有什么建议吗?
这是WindowsIIS7和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);发布于 2010-09-06 22:40:56
在php.ini中,这个函数exec在下面声明
disable_functions或者如果你在
安全模式
当PHP在safe mode中运行时,此功能被禁用。
发布于 2014-12-29 05:27:04
尝试将2>&1添加到命令的末尾。我发现它是here。
exec('some_command 2>&1', $output);
print_r($output); // to see the respond to your command发布于 2010-09-06 23:47:56
这会不会是PATH变量的问题?
您可能希望尝试运行
<?php
echo exec('cmd.exe /c echo %path%');
?>在命令行和IIS中,并比较它们的输出。
https://stackoverflow.com/questions/3652263
复制相似问题