【问题标题】:Error when unoconv command is run as apacheunoconv 命令作为 apache 运行时出错
【发布时间】:2011-07-05 17:01:23
【问题描述】:

以下是我在unoconv 命令作为 apache 运行时遇到的错误,使用 root 可以正常工作。

[root@tux1 apache]# sudo -u apache unoconv -f pdf /var/www/html/testing/example.xlsx

创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
创建可执行内存区域失败:权限被拒绝
错误:无法连接或启动自己的侦听器。中止。

【问题讨论】:

  • 这可以通过更改代码中的 Home 变量来解决
  • 我遇到了同样的问题,我无法解决。你能帮我改一下 home 变量吗?

标签: php pdf-generation openoffice.org shellexecute


【解决方案1】:

好吧,这可能是一种绕过它的愚蠢方法,但这里是......

工具链中的某些东西想要一个主目录。 Apache 的用户没有主目录。

我的 Apache2 以 www-data 运行。

所以:

mkdir /home/www-data
chown www-data:www-data /home/www-data

瞧!没有更多错误。

如果我是一个真正的极客,我会在工具链的上层解决问题,但我不是这样。

【讨论】:

  • 我正在使用不同的用户,我得到了同样的错误。你能帮帮我吗?
  • 拯救了我的一天,我开始对如何在服务器上生成 pdf 文件感到绝望,而 libreoffice headless 在没有 X 的情况下无法正常工作,而 unoconv 似乎无法根据用户工作?!?非常感谢!
【解决方案2】:

在 Apache 上通过 PHP 使用 unconv 将 .docx 或 .doc 转换为 HTML 时出现此错误:

Error: Unable to connect or start own listener. Aborting.

最终,我发现问题在于 www-data 用户无法写入其主文件夹(在我的情况下为 /var/www)。我修复了权限,错误也得到了排序。

【讨论】:

    【解决方案3】:

    我添加了具有 www-data 用户权限的 .config 和 .cache 子文件夹,并将根目录保留在 /var/www/ https://stackoverflow.com/a/70891861/8187662

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-21
      • 2014-08-01
      • 2016-11-11
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多