2

我正在尝试使用unoconvphp 将 HTML 文件转换为 RTF 文件。

从 php 我打电话:


    ......
    file_put_contents("/tmp/unoconv55b2862fea753.html", $content);
    $command = "unoconv -f rtf -o /tmp/unoconv55b2862fea753.rtf /tmp/unoconv55b2862fea753.html";
    exec($command, $output);
    $converted = file_get_contents("/tmp/unoconv55b2862fea753.rtf");

问题是,这file_put content将保存 .html,但 unoconv 出于某种原因不会将转换后的文件保存到 /tmp 目录中。

当我在控制台中直接在服务器上运行该 $command 时,会创建转换后的文件。

你知道哪里有问题吗?

4

2 回答 2

0

问题可能在于 PHP 没有 tmp 目录的正确权限。尝试将转换后的文件保存到站点的根目录(或其中的子文件夹),看看它是否转换成功。

于 2015-07-24T19:35:16.753 回答
-1

在 ubuntu 服务器上配置 unoconv 以在 apache (www-data) 用户下运行此解决方案基于:
https
://github.com/dagwieers/unoconv/issues/87#issuecomment-16563550 和
https://github.com /dagwieers/unoconv/issues/87#issuecomment-32084464

分步指南请
按照以下步骤操作:
1. 创建新文件,其中将包含用户 www-data 的 sudoers 条目:sudo vi /etc/sudoers.d/www-data
2. 将以下内容添加到新创建的文件并保存: www-data ALL=NOPASSWD: /usr/bin/unoconv
3. 在 PHP exec() 中使用“sudo unoconv”

于 2015-07-27T13:58:57.817 回答