运行exec命令php
我刚刚安装了pdf2htmlEX,没有任何问题。如果我在服务器上运行该命令,它可以正常工作。所以我知道图书馆本身正在做它应该做的事情。如果通过运行exec命令php,php,exec,Php,Exec,我刚刚安装了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
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');
// works and generates the file as expected.
pdf2htmlEX --zoom 1.3 pdf/test.pdf
如果我在exec
函数中运行一个常规命令,它可以正常工作,因此我知道exec
已启用并按预期工作
// works fine
$exec = exec('pwd', $output);
print_r($output);
非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');
// works and generates the file as expected.
pdf2htmlEX --zoom 1.3 pdf/test.pdf
任何帮助都将不胜感激
库的命令行参考
编辑:
在进一步挖掘之后,可能是
php
脚本作为命令行的不同用户运行。然后,我的问题是如何检查/修复此问题?尝试以下操作,并检查您的文件是否在工作目录中创建
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;
您只需在命令中添加输出html路径和文件名: 大多数pdf-to-something软件包与exec()的用法是
package\u name[选项]
在php中运行命令时,它不会输出test.html文件,但在从命令提示符运行时会输出。我也从gnome终端运行过它,但仍然没有输出。在这两种情况下,都创建了
.html
文件。你可以做一个$a=文件获取内容(“test.html”);echo$a代码>如果你想看的话。在php中为我执行时,永远不会创建该文件。我认为这可能是由于php脚本是作为不同于命令行的用户执行的。命令行有权限,而脚本没有。不确定如何修复文件夹是否可写?这是必须的。你可以在/tmp
中复制你的php代码并在那里进行测试。文件夹设置为777谢谢,我对此感到厌倦,但它不起作用。我认为这可能是由于php脚本是作为不同于命令行的用户执行的。命令行有权限,而脚本没有。但不知道如何修复