当用户使用
提交表单时,我正在尝试创建文件
exec("sudo touch a.cpp") or die("Unable to create file)";
输出:无法创建文件
我检查了以下答案:
1:sudo in php exec()
2:https://askubuntu.com/questions/139723/sudo-does-not-ask-for-password/139733#139733
3:https://askubuntu.com/questions/810462/nopasswd-option-not-working-in-sudo?noredirect=1&lq=1
4:也尝试过exec("echo <password> | sudo -S touch a.cpp");
在www-data ALL=(ALL) NOPASSWD: /var/www/html/<project-folder>
中添加了visudo
更新:如@Rolfie的评论中所述,使用fopen()解决了此问题,但我仍然无法使用任何使用exec()
的命令,例如再次编译文件时会显示相同的错误。