1

PHP shell_exec 的文档中,它说null如果发生错误,shell_exec 函数将返回。不幸的是,当我运行以下代码时,代码全部正确完成,但 shell_exec 命令仍然返回null.

// convert to PDF
$output = shell_exec('wkhtmltopdf --page-size Letter report.html report.pdf');
if (is_null($output)){
    echo("error creating pdf, please contact IT administrator.");
}

我可以告诉它正确完成,因为 1)正确创建了 PDF 文件,以及 2)因为我检查了 apache error_log(由于某种原因,它包含 wkhtmltopdf 命令的输出)并且输出表明该过程的每个步骤正确完成。

这是一个问题,因为我无法从 PHP 程序中判断命令是否正确完成。因此,即使没有发生错误,上述脚本也总是会出现错误消息。

这是 apache 错误日志的输出(与直接从命令行执行时的命令行输出相同): 在此处输入图像描述

有谁知道为什么会这样?或者我怎样才能以不同的方式正确报告错误?

Linux Ubuntu 12.10

PHP 5.3.6-13ubuntu3.9

4

0 回答 0