无法使用php shell_exec

时间:2017-09-08 01:49:10

标签: php linux pdf shell-exec imagemagick-convert

我在将pdf转换为png时遇到问题,但仅当pdf文件有多个页面时才会出现问题。

这就是我所拥有的:

shell_exec("convert -density 600 -quality 100 ".$filepath."/".$filename.$extension." ".$filepath."/".$filename.".png");

有趣的是,如果pdf有一个页面它可以工作,如果我在终端上运行它也可以工作,即使它是一个多页pdf。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我的代码中没有任何问题,除非$filename$pathname中有空格或任何特殊字符,因此您必须使用escapeshellarg()

$filepath = escapeshellarg( $filepath.'/'.$filename.$extension );
$outfile  = escapeshellarg( $filepath.'/'.$filename.'.png' );
shell_exec( "convert -density 600 -quality 100 $filepath  $outfile" );

您能否与我们分享您在日志中获得的内容,以便我们了解错误。