linux - antiword 在托管服务器上不起作用

标签 linux directory redhat

我想这可能是一个愚蠢的问题,但我花了几个小时。

在 redhat Linux 服务器上,我编写了一个网页,试图调用同一服务器上的软件“antiword”。

antiword 位于/home/myusername/bin,需要目录/home/myusername/.antiword 才能运行。

当我在浏览器中运行我的网页时,它搜索的是/.antiword 而不是/home/myusername/.antiword

所以它说找不到目录。

我该如何解决这个问题?

有一件事要澄清

antiword 是程序名。无论您在哪里调用它,它都会在相同位置“/home/myusername/.antiword”搜索目录“.antiword”

顺便说一句,我没有根帐户,所以“ln”不起作用。

最佳答案

我遇到了完全相同的问题。希望这对其他人有用,因为 antiword 是非常有用的软件。

antiword 出于某种原因不喜欢托管 Web 服务器(此处概述:http://foswiki.org/Support/Question638)。我在将在本地 QA 机器上运行良好的 node 服务器部署到云中的生产服务器时遇到了这个问题。因此,我的解决方案涉及 node

这在生产环境中行不通:

var exec = require('child_process').exec;

exec('antiword /some/word.doc', function(err, stdout, stderr) {
    console.log(stderr);
  });

你应该看到

I can't find the name of your HOME directory

或类似的东西。 link provided 阐明了原因。为了解决这个问题,我设置了 $ANTIWORDHOME 环境变量(根据 documentation ):

var exec = require('child_process').exec;

var environment = process.env;
environment.ANTIWORDHOME = '/usr/share/antiword';

exec(command, {env:environment}, function(err, stdout, stderr) {
    console.log(stdout);
  });

现在,如果一切都正确,您将看到 antiword 产生的结果,而不是让我感到困惑的错误。

关于linux - antiword 在托管服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11182095/

相关文章:

Linux + 在数百台 Linux 机器上并行运行 yum update 的最佳方法是什么

linux - 将 Apache 默认页面更改为 PHP

Linux命令通过uid列出所有用户

linux - 复制后 bash 脚本无法正常工作

linux - 使用 ftrace 和 kprobes(通过使用虚拟地址转换)捕获用户空间程序集?

linux - 具有 kerberos 身份验证的 Kafka 控制台消费者

java - 如何选择目录中的上一张或下一张图像?

c - 创建目录时出现段错误(核心转储)

linux - 当文件名的一部分时,Shell 脚本不执行星号

javascript - 是否可以使用 XHR 上传文件目录?