繁体   English   中英

运行exec命令php

[英]Running exec command php

我刚刚安装了pdf2htmlEX,没有任何问题。 如果我在服务器上运行命令,它将正常工作。 所以我知道图书馆本身正在做它应该做的事情。 如果我通过exec函数在php运行命令,则不会发生任何事情。 我假设在这种情况下使用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脚本以与命令行不同的用户身份运行。 我的问题是如何检查/修复此问题?

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

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

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

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

exec($command);

请尝试以下操作,并检查您的文件是否在工作目录中创建。

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

pdf2htmlEX不输出任何内容。

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

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

您还期待其他吗?

注意:我已经在ubuntu上通过安装pdf2htmlEX

sudo apt-get install pdf2htmlex

要获得输出,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM