失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 为什么用exec执行一个命令时 在脚本内执行不成功 放到服务器命令行就可以了 在/etc

为什么用exec执行一个命令时 在脚本内执行不成功 放到服务器命令行就可以了 在/etc

时间:2021-07-25 07:53:25

相关推荐

为什么用exec执行一个命令时 在脚本内执行不成功 放到服务器命令行就可以了 在/etc

后端开发|php教程

为什么用exec执行一个命令时,在脚本内执行不成功,放到服务器命令行就可以了,我在/etc/sudoers也做了配置

后端开发-php教程

shell

监测系统源码,vscode查看合并分支,分区格式ubuntu,设置tomcat启动端口,安卓sqlite通讯录编写,我的世界爬虫怪的三个不同,php文章列表,重庆江津有名的seo,网站后台管理系统如何安装,ecshop 模板lzw

我首先在/etc/sudoers做了如下配置

应用上传下载网站源码,ubuntu b365,爬虫箱新手推荐,php搜索api,日本SEO 大阪lzw

接着重启了下apache服务器

在tp框架内写到

用友官网源码,分区助手卸载ubuntu,tomcat9改变端口,怎么爬虫验证,PHP奶粉啥意思,seo深度链接找行者SEOlzw

exec(/usr/bin/unoconv --server localhost --port 8100 -o /usr/local/webserver/www/server/Exam/Public/Uploads/Resource/transform/document/09/52419a788a553.pdf -f pdf /usr/local/webserver/www/server/Exam/Public/Uploads/Resource/untransform/document/09/52419a788a553.doc);

运行了下,没有效果,转码不成功,把代码直接拿出来就可以执行。

同时,我又把转码的部分写到一个shell脚本里

#!/bin/shturnCode() {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);

结果仍旧是无法转码,哪位过来人烦请指点下,不甚感激!!!

回复讨论(解决方案)

命令行时,使用的是你的账号的权限。而脚本则可以不同,完全由该脚本的拥有者或创建者的账号权限控制。

哦,已经弄好了

1、配置visudo给apache用户设置权限,具体操作

注释掉 Defaults requiretty

添加 wwwALL=(ALL) NOPASSWD:ALL

2、重启apache服务 /usr/local/webserver/apache2/bin/apachectl restart

为什么用exec执行一个命令时 在脚本内执行不成功 放到服务器命令行就可以了 在/etc/sudoers也做了配置

如果觉得《为什么用exec执行一个命令时 在脚本内执行不成功 放到服务器命令行就可以了 在/etc》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。