提问人:user14436239 提问时间:11/1/2023 最后编辑:user14436239 更新时间:11/1/2023 访问量:32
PHP浏览器内脚本无法重新启动/停止/启动过程
php in-browser script cant restart/stop/start proccess
问:
我有一个简单的脚本,它必须在服务器上重新启动进程:这个脚本无法从浏览器执行,我不知道他怎么了。
因为如果我跑:它有效!exec("systemctl stop listener.service");
exec("systemctl status listener.service | grep Active");
我试过了:
$command = "systemctl stop listener.service";
system($command);
shell_exec($command);
exec($command);
$command = "sudo systemctl stop listener.service";
system($command);
shell_exec($command);
exec($command);
我添加了“%www-data ALL=(ALL:ALL) ALL”的想法。浏览器显示 0 个错误(启用了错误报告,我特别试图犯错误 - 它显示在浏览器中,但此脚本显示 0 个错误。我已经根据需要关闭了所有标签。
没有什么是有效的。
我什至尝试从 php 运行 python 脚本 - 它仍然不起作用。 如果我尝试从服务器控制台运行脚本 - 它可以工作,即使我没有授予对脚本的root访问权限。如果我尝试从服务器“php -a”控制台运行脚本 - 它可以工作,但它不能从浏览器中工作。Idk这个脚本有什么问题......
答:
0赞
user14436239
11/1/2023
#1
最后,我必须使用“sudo visudo”添加指令:
%www-data ALL=(ALL) NOPASSWD: ALL
现在它起作用了。 感谢@Barmar
评论
sudo
<?php
?>
echo
sudo
NOPASSWD
sudo