jer*_*ano 6 php pdf shell command
我想从脚本php启动命令"unoconv".
$command = '/usr/bin/unoconv --server localhost --port 2002 --format=pdf file.rtf >/dev/null 2>/dev/null';
$rc = system( $command );
echo $rc;
Run Code Online (Sandbox Code Playgroud)
该命令不返回结果,也不创建文件.
我认为访问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
Run Code Online (Sandbox Code Playgroud)
在此之后我添加了条目/etc/sudoers.d:
www-data ALL=NOPASSWD: /usr/local/bin/unoconv.sh
Run Code Online (Sandbox Code Playgroud)
现在你可以在php中调用脚本:
exec('sudo /usr/local/bin/unoconv.sh '.$fileName);
Run Code Online (Sandbox Code Playgroud)
尝试运行
$output = `/usr/bin/unoconv --server localhost --port 2002 --format=pdf file.rtf`;
Run Code Online (Sandbox Code Playgroud)
相反并查看错误消息。
| 归档时间: |
|
| 查看次数: |
6450 次 |
| 最近记录: |