PHP 调用 shell 时,有些时候会遇到权限问题,通过查看Apache日志可以发现如下的内容 rm: instrumentscli0.trace/form.template: Permission denied 原因是shell在执行这些语句时可能需要root权限,可以在脚本中的具体语句加上sudo ,比如 sudo rm xxx;当然
php调用shell时,有些时候会遇到权限问题,通过查看apache日志可以发现如下的内容
rm: instrumentscli0.trace/form.template: Permission denied
原因是shell在执行这些语句时可能需要root权限,可以在脚本中的具体语句加上sudo ,比如 sudo rm xxx;当然最好是不要修改shell脚本,而是在php调用shell时,加上sudo ./xxx.sh
加上sudo后再次执行,发现第二个问题
sudo: no tty present and no askpass program specified
立即学习“PHP免费学习笔记(深入)”;
原因是执行sudo时需要一个终端来输入密码,解决方法是赋予Apache的执行用户root权限。
方法:修改visudo文件
命令如下
sudo visudo
在visudo文件中为Apache的执行用户分配权限,新增下面这一行
_www ALL=(ALL) NOPASSWD: ALL
赋予_www用户所有权限,并且不需要输入密码,这其中,第一项是Apache执行用户的名称,不同的版本可能不一样,有的是nobody,有的是daemon, 有的是_www。
新秀B2C商城系统是一款简洁易用PHP商城系统。可免费下载使用,可用于商业用途,没有时效限制,除版权标识外,所有代码都允许修改。后台功能简介:1、商城设置:基本信息,配送方式,配送范围,支付方式,财务管理;2、商品管理:商品列表,添加商品,商品分类,商品品牌,商品属性;3、订单管理:订单列表,缺货登记;4、用户互动:用户管理,留言管理,评论管理,网站公告,在线客服,用户协议;5、文章管理:文章列表
0
可以通过查看Apache目录下的httpd.conf获悉具体用户,该文件有如下一段配置项
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User _www
Group _www
这里就是执行用户,出于安全考虑,最好把默认的用户名修改为自定义的用户,当然也可以不修改。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号