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
原因是执行sudo时需要一个终端来输入密码,解决方法是赋予Apache的执行用户root权限。
方法:修改visudo文件
命令如下
sudo visudo
在visudo文件中为Apache的执行用户分配权限,新增下面这一行
_www ALL=(ALL) NOPASSWD: ALL
赋予_www用户所有权限,并且不需要输入密码,这其中,第一项是Apache执行用户的名称,不同的版本可能不一样,有的是nobody,有的是daemon, 有的是_www。
可以通过查看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
这里就是执行用户,出于安全考虑,最好把默认的用户名修改为自定义的用户,当然也可以不修改。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver CS6
视觉化网页开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。