作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想从脚本 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);
关于php - 如何从 php 文件启动 unoconv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11427965/
我是一名优秀的程序员,十分优秀!