exec convert在SSH上工作正常,但不在脚本中

时间:2015-04-29 17:26:25

标签: php

我有这个脚本将PDF转换为图像

$targetPath = 'test.pdf';    
$location   = "/usr/local/bin/convert";
$randomNum   = time();
$nameto     = $randomNum.".jpg";
$convert    = $location. " -density 150 " . $targetPath . " " . $nameto;

exec($convert);

其中$ convert类似于

/usr/local/bin/convert -density 150 PATH/test-1430326864.pdf PATH/1430326864.jpg

当我在SSH上执行此命令时,它会提供所需的输出,但在php脚本中它不会将PDF转换为图像。但是这个相同的脚本成功地将一些PDF转换为图像,但并非所有PDF都转换为图像

脚本中是否存在任何问题或如何解决此问题,因此每个PDF转换成功?

更新:

将php脚本中的exec代码更改为

exec($convert, $output);

echo '<pre>';
var_dump($output);
die();

然后,得到以下输出

array(9) {
  [0]=>
  string(32) "Error: /invalidfont in /findfont"
  [1]=>
  string(14) "Operand stack:"
  [2]=>
  string(97) "   --dict:7/16(L)--   F0   9.602   FontObject   --dict:9/9(L)--   --dict:9/9(L)--   Arial   Arial"
  [3]=>
  string(16) "Execution stack:"
  [4]=>
  string(672) "   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1846   1   3   %oparray_pop   1845   1   3   %oparray_pop   1829   1   3   %oparray_pop   --nostringval--   --nostringval--   2   1   8   --nostringval--   %for_pos_int_continue   --nostringval--   --nostringval--   --nostringval--   --nostringval--   %array_continue   --nostringval--   false   1   %stopped_push   --nostringval--   %loop_continue   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   1804   8   9   %oparray_pop"
  [5]=>
  string(17) "Dictionary stack:"
  [6]=>
  string(199) "   --dict:1154/1684(ro)(G)--   --dict:1/20(G)--   --dict:75/200(L)--   --dict:75/200(L)--   --dict:106/127(ro)(G)--   --dict:286/300(ro)(G)--   --dict:22/25(L)--   --dict:4/6(L)--   --dict:25/40(L)--"
  [7]=>
  string(32) "Current allocation mode is local"
  [8]=>
  string(16) "Last OS error: 2"
}

希望这有助于找到解决此问题的方法!

0 个答案:

没有答案