我首先在/etc/sudoers做了如下配置 接着重启了下apache服务器
在tp框架内写到exec('/usr/bin/unoconv --server localhost --port 8100 -o /usr/local/webserver/www/server/Exam/Public/Uploads/Resource/transform/document/201309/52419a788a553.pdf -f pdf /usr/local/webserver/www/server/Exam/Public/Uploads/Resource/untransform/document/201309/52419a788a553.doc'); 运行了下,没有效果,转码不成功,把代码直接拿出来就可以执行。 同时,我又把转码的部分写到一个shell脚本里#!/bin/sh
turnCode() {
local pdf=`echo $1 | cut -d: -f1`;
local file=`echo $1 | cut -d: -f2`;
echo $pdf;
echo $file;
`/usr/bin/unoconv --server localhost --port 8100 -o $pdf -f pdf $file`}action="$1"
setting="$2"
case $action in turnCode)
turnCode "$setting"
;; *)
;;esac
通过exec调用 exec("sudo ./bash turnCode $save_path1:$file_path1", $out, $status);结果仍旧是无法转码,哪位过来人烦请指点下,不甚感激!!!shell
在tp框架内写到exec('/usr/bin/unoconv --server localhost --port 8100 -o /usr/local/webserver/www/server/Exam/Public/Uploads/Resource/transform/document/201309/52419a788a553.pdf -f pdf /usr/local/webserver/www/server/Exam/Public/Uploads/Resource/untransform/document/201309/52419a788a553.doc'); 运行了下,没有效果,转码不成功,把代码直接拿出来就可以执行。 同时,我又把转码的部分写到一个shell脚本里#!/bin/sh
turnCode() {
local pdf=`echo $1 | cut -d: -f1`;
local file=`echo $1 | cut -d: -f2`;
echo $pdf;
echo $file;
`/usr/bin/unoconv --server localhost --port 8100 -o $pdf -f pdf $file`}action="$1"
setting="$2"
case $action in turnCode)
turnCode "$setting"
;; *)
;;esac
通过exec调用 exec("sudo ./bash turnCode $save_path1:$file_path1", $out, $status);结果仍旧是无法转码,哪位过来人烦请指点下,不甚感激!!!shell
1、配置visudo给apache用户设置权限,具体操作
注释掉 Defaults requiretty
添加 www ALL=(ALL) NOPASSWD:ALL
2、重启apache服务 /usr/local/webserver/apache2/bin/apachectl restart