加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何从php文件启动unoconv

发布时间:2020-12-13 17:42:00 所属栏目:PHP教程 来源:网络整理
导读:我想从脚本php启动命令“unoconv”. $command = '/usr/bin/unoconv --server localhost --port 2002 --format=pdf file.rtf /dev/null 2/dev/null';$rc = system( $command );echo $rc; 该命令不返回结果,也不创建文件. 我认为访问www-data和unoconv是一个问
我想从脚本php启动命令“unoconv”.

$command = '/usr/bin/unoconv --server localhost --port 2002 --format=pdf file.rtf >/dev/null 2>/dev/null';
$rc = system( $command );
echo $rc;

该命令不返回结果,也不创建文件.

我认为访问www-data和unoconv是一个问题.

当我在shell中启动命令时,会创建该文件.

任何的想法?

解决方法

您可以将命令unoconv添加到sudoers.
我这样做:

我在例如/usr/local/bin中创建了包装器bash脚本,其中我有命令unoconv.

#!/bin/bash

if [ -z "$1" ]; then
    echo "Must pass file";
    exit 10;
fi

/usr/bin/unoconv -f pdf $1.rtf

在此之后我在/etc/sudoers.d中添加了一个条目:

www-data    ALL=NOPASSWD: /usr/local/bin/unoconv.sh

现在你可以在php中调用脚本:

exec('sudo /usr/local/bin/unoconv.sh '.$fileName);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读