我需要使用apache配置的php在我的Web服务器上执行一些命令。
exec("service apache2 restart", $output); print_r($output);
输出:
Array ( [0] => * Restarting web server apache2 [1] => Action 'start' failed. [2] => The Apache error log may have more information. [3] => ...fail! )
我的猜测是因为我的ubuntu上有php权限!你有什么建议?
您需要运行:
visudo
检查你是否有一条线像
Host_Alias LOCAL=192.168.0.1
在文件顶部添加您自己的本地IP,然后添加一行
www-data LOCAL=NOPASSWD:/usr/bin/service
最后在您的PHP文件中:
exec("/usr/bin/sudo /usr/bin/service apache2 restart");
(您正在尝试通过Web重新启动apache,也许您不知道webmin界面?我认为有比sudo方法更好的解决方案。授权www- data停止,启动(…)全部不是一件好事。服务。请更好地解释您为什么要重新启动apache;))