微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从PHP重新启动Apache

如何解决从PHP重新启动Apache

我知道网站上甚至其他网站上已经有很多类似的问题,但是即使寻找这些问题的所有信息,我也没有得到解决方案。

PHP代码开始,我正在尝试:

exec('/etc/init.d/apache2 restart');

在我的sudoers文件中,添加了以下行:

www-data ALL=(ALL) nopASSWD: ALL

在这里尝试了很多组合,例如创建Cmnd_Alias,但是没有用。

如果执行此exec,则会收到“ (通过systemctl)重新启动apache2:apache2.service失败!”。而且,如果我使用sudo执行此exec命令,则会收到错误无法重新启动apache2.service:需要交互式身份验证。”(在apache error.log上看到)。我从浏览器控制台中看到了此错误,因为我正在从AJAX帖子中运行代码

但是如果我从cmd尝试,此命令会要求输入密码(我不明白为什么要在sudoers文件添加我之前解释的行):

sudo -u www-data /etc/init.d/apache2 restart

当然,如果我添加sudo,它会起作用:

sudo -u www-data sudo /etc/init.d/apache2 restart

所以我真的不知道这里出了什么问题。如果有人可以提供帮助,我将不胜感激,因为我迷路了...

致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。