我在 PHP 中使用 exec() 时遇到了这个问题:
sh: CutyCapt: Permission denied
那么,我如何授权阿帕奇用户或www-data用户执行可爱队长?
答案1
每次你想要执行一个脚本时你都应该添加执行权限:
chmod +x /path/name/of/your/script
答案2
使用 chmod 添加执行权限:
chmod +x /path_to_CutyCapt
答案3
除非您使用 suPHP 或类似程序,否则所有 PHP 进程(脚本)都以 apache 用户身份执行。
这意味着您希望从 PHP 执行的任何二进制文件也必须由该用户执行。
错误日志到底说了什么?
答案4
您需要根据 Apache 运行的用户将用户/所有者设置为 apache:apache 或 www-data:www-data。
一旦知道 Apache 进程的用户名,请输入:
chown <apache_user>:<apache_group> /path/to/CutyCapt.sh
完成此操作后,您已将该文件的所有权更改为 Apache 用户。下一步是使脚本可执行。
chmod +x /path/to/CutyCapt.sh