qod*_*nja 8 php apache restart
我正在玩我的虚拟机和我正在开发的代码要求我每次都重新启动apache以捕获更改.我认为只要有一个书签,或链接或按钮点击我可以运行来做这件事会很好.有关如何在CentOS 5开发虚拟机上使用PHP实现此目的的任何想法?
Jos*_*osh 17
正如Marc B所说,你需要root privs才能重启Apache.处理这种情况的最好办法,恕我直言,是给那Apache下运行的访问通过重新启动Apache的用户的sudo
命令.
您需要编辑/etc/sudoers
文件并添加类似于以下内容的行:
Cmnd_Alias RESTART_APACHE = /sbin/service apache2 restart
www-data ALL=NOPASSWD: RESTART_APACHE
Run Code Online (Sandbox Code Playgroud)
您可能需要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');
Run Code Online (Sandbox Code Playgroud)
(如果重启Apache的命令在您的服务器上有所不同,显然会改变它.)
请注意: 这很可能被视为安全风险!如果这样做,您完全信任sudo
二进制文件,service
二进制文件和系统遵守规则,而不是让Apache/PHP进程获得root shell.我强烈建议您在http://serverfault.com上询问您在这里所做的事情.
归档时间: |
|
查看次数: |
13670 次 |
最近记录: |