gpt4 book ai didi

php - 您如何通过单击(网络)按钮重新启动 Apache?

转载 作者:可可西里 更新时间:2023-11-01 12:26:40 26 4
gpt4 key购买 nike

我正在玩我的虚拟机,我正在开发的代码要求我每次都重新启动 apache 以捕获更改。我认为只要有一个小书签、链接或按钮单击我就可以运行来执行此操作会很好。关于如何在 CentOS 5 开发虚拟机上使用 PHP 实现这一点有什么想法吗?

最佳答案

正如 Marc B 所说,您需要 root 特权才能重新启动 Apache。恕我直言,处理此问题的最佳方法是让 Apache 在访问权限下运行的用户通过 the sudo command 重新启动 Apache .

您需要编辑您的 /etc/sudoers 文件并添加类似于以下内容的行:

Cmnd_Alias      RESTART_APACHE = /sbin/service apache2 restart

www-data ALL=NOPASSWD: RESTART_APACHE

您可能需要nobody 而不是www-data,这取决于运行Apache 的用户。在 Debian 上,Apache 通常在用户 www-data 下运行,而在 Red Hat 下,Apache 通常在用户 nobody 下运行。此外,/sbin/service apache2 restart 可能需要是 /sbin/service apache restart 或者 /sbin/service httpd restart。一切都取决于您的系统配置。

完成后,您可以在 PHP 中使用代码:

exec('/sbin/service apache2 restart');

(如果重启 Apache 的命令在您的服务器上不同,显然会更改它。)

请注意: 这很可能被认为是安全风险!如果您这样做,您完全信任 sudo 二进制文件, service 二进制,你的系统遵守规则,不让 Apache/PHP 进程获得 root shell。我强烈建议询问 http://serverfault.com了解你在这里所做的事情的含义。

关于php - 您如何通过单击(网络)按钮重新启动 Apache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com