运行exec命令php

时间:2016-03-05 13:16:13

标签: php exec

我刚刚安装了pdf2htmlEX而没有任何问题。如果我在服务器上运行命令它工作正常。所以我知道图书馆本身正在做它应该做的事情。如果我通过php函数在exec中运行命令,则没有任何反应。我假设在这个实例中使用exec ??

在PHP中

// doesn't work
$output = exec('pdf2htmlEX --zoom 1.3 pdf/test.pdf');
// doesn't work
$output = shell_exec('pdf2htmlEX --zoom 1.3 pdf/test.pdf');

如果我在exec函数中运行一般命令,它可以正常工作,所以我知道exec已启用并按预期工作。

// works fine
$exec =  exec('pwd', $output);
print_r($output);

直接在命令行上不在PHP中

// works and generates the file as expected.
pdf2htmlEX --zoom 1.3 pdf/test.pdf

非常感谢任何帮助。

库的命令行参考 https://github.com/coolwanglu/pdf2htmlEX/wiki/Quick-Start

编辑: 进一步挖掘之后,可能是php脚本作为命令行的不同用户运行。我的问题是如何检查/修复此问题?

3 个答案:

答案 0 :(得分:1)

您只需在命令中添加输出html路径和文件名:

大多数pdf_to_something软件包与exec()的使用是package_name [options] <input-filename> <output-filename>

$path = 'path/to/your/folder/';

$command = 'pdf2htmlEX '.$path.'test.pdf '.$path.'test.html';

exec($command);

答案 1 :(得分:0)

尝试按照并检查您的文件是否在工作目录中创建。

exec('pdf2htmlEX --zoom 1.3 pdf/test.pdf',$output);

答案 2 :(得分:0)

pdf2htmlEX没有输出任何内容。

$cmd=  "pdf2htmlEX --zoom 1.3 test/test.pdf";
exec($cmd, $output);

将在当前目录中创建test.html文件。

你还期待别的吗?

注意:我已经通过安装pdf2htmlEX

在ubuntu上对此进行了测试
sudo apt-get install pdf2htmlex

要获得输出,

$a = file_get_contents("test.html"); 
echo $a;