首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行exec命令php

运行exec命令php
EN

Stack Overflow用户
提问于 2016-03-05 13:16:13
回答 3查看 694关注 0票数 1

我刚刚安装了pdf2htmlEX,没有任何问题。如果我在服务器上运行这个命令,它可以正常工作。所以我知道图书馆本身正在做它应该做的事情。如果我通过php函数在exec中运行该命令,就不会发生任何事情。我假设在这种情况下使用了exec

PHP中的

代码语言:javascript
复制
// 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已被启用并按预期工作。

代码语言:javascript
复制
// works fine
$exec =  exec('pwd', $output);
print_r($output);

直接在命令行上,而不是在PHP

代码语言:javascript
复制
// works and generates the file as expected.
pdf2htmlEX --zoom 1.3 pdf/test.pdf

任何帮助都将不胜感激。

https://github.com/coolwanglu/pdf2htmlEX/wiki/Quick-Start的命令行引用

编辑:经过进一步研究,可能是php脚本作为命令行的不同用户运行。那么,我的问题将是如何检查/修复这个问题?

EN

回答 3

Stack Overflow用户

发布于 2017-05-10 10:44:23

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

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

代码语言:javascript
复制
$path = 'path/to/your/folder/';

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

exec($command);
票数 1
EN

Stack Overflow用户

发布于 2016-03-05 13:22:45

试着跟随并检查您的文件是否在工作目录中创建。

代码语言:javascript
复制
exec('pdf2htmlEX --zoom 1.3 pdf/test.pdf',$output);
票数 0
EN

Stack Overflow用户

发布于 2016-03-05 13:29:39

pdf2htmlEX没有输出任何内容。

代码语言:javascript
复制
$cmd=  "pdf2htmlEX --zoom 1.3 test/test.pdf";
exec($cmd, $output);

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

你还在等什么吗?

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

代码语言:javascript
复制
sudo apt-get install pdf2htmlex

为了得到输出,

代码语言:javascript
复制
$a = file_get_contents("test.html"); 
echo $a;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35814622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档