我正在玩我的虚拟机,我正在开发的代码要求我每次重新启动Apache来捕获更改。 我认为这将是很好,只要有一个小书签,或链接或button点击我可以运行做到这一点。 有关如何在CentOS 5开发虚拟机上使用PHP完成此任务的想法?
防止Windows 10以编程方式更新后自动重新启动
在C程序中调用的Linux重新启动function会导致磁盘上的程序创build文件丢失
Linux命令重新启动应用程序
使用crontab在@reboot上运行“screen -S name ./script”命令
系统安装软件后重启
正如marc B所说,你需要root权限才能重启Apache。 处理这个问题的最好方法是恕我直言,就是让用户运行Apache,通过sudo命令重启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 。 全部取决于您的系统配置。
exec('/sbin/service apache2 restart');
(很显然,如果重启Apache的命令在你的服务器上有所不同,
请注意: 这可能被认为是一个安全风险! 如果你这样做,你完全信任sudo二进制文件, service二进制文件和你的系统遵守规则,而不是让一个Apache / PHP进程得到一个root shell。 我强烈建议在http://serverfault.com上询问你在这里做什么的含义。
<?PHP echo shell_exec('service httpd restart &'); ?>
这样的脚本尝试执行此操作可能会遇到权限问题。 这听起来像是处于全功能的开发环境中,所以对它给予提升的权限并不重要。
一个文件包含apache的进程ID。 只需发送一个HUP给它。 可以编写一个简单的脚本(sh)来实现这一点,并将其放置在cgi-bin目录中。
如果你使用的是linux,你可以编写一个shell脚本来照顾你。
例如
if [ $? -ne 0 ] # if apache not running then # restart apache $RESTART
有关此博客的更多详细信息, 请访问 : http : //www.droidmsg.com/blog/? p= 146
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。