PHP系统返回4

时间:2010-03-14 18:54:23

标签: php system

我想用PHP将pdf文件转换为图像,但我无法使命令工作。 PHP返回4.我不知道那可能是什么。

我正在使用下一个代码:

$tmp = system("convert -version", $value); 
var_dump($value);

有人有想法吗?

4 个答案:

答案 0 :(得分:2)

尝试

  exec("convert -version 2>&1", $out, $ret);
  print_r($out);

它应该告诉你什么是错的

答案 1 :(得分:1)

看起来-version标志告诉转换软件(看起来像imagemagick)以响应该软件的主要版本号。看起来它工作正常。您可能需要传递正确的标志才能正常运行。我建议阅读文档,看看转换PDF需要哪些标志。

答案 2 :(得分:1)

尝试使用PHP中的一些其他系统函数来获得更详细的输出。

exec("convert -version", $output, $value);
print_r($output);

上面的 exec 函数将为$ output参数中的命令提供所有输出,作为数组。

返回状态(将在上面的 exec 调用中的$ value参数中保存或原始代码中的系统调用)为您提供返回值执行的shell命令。

通常,成功为零,非零整数返回值表示不同类型的错误。因此,看起来命令出现了问题(可能无法识别-version:通常在长手命令行选项之前需要双连字符)。

顺便提一下,您可能还会发现 passthru 功能更适合您的需求。如果转换程序生成与转换后的PDF相对应的二进制图像数据,则可以使用 passthru 将该图像数据直接发送到浏览器(当然在设置了相应的标题后)

答案 3 :(得分:0)

错误...你不是在推翻错误的结果吗? (我会转储$ tmp,而不是$ value。)

我认为代码应该是:

$tmp = system("convert -version", $value); 
var_dump($tmp);