XAMPP - 重新启动 apache 的快速方法?
Posted
技术标签:
【中文标题】XAMPP - 重新启动 apache 的快速方法?【英文标题】:XAMPP - quick way to restart apache? 【发布时间】:2012-07-18 10:00:23 【问题描述】:我在 Windows 7 上安装了 XAMPP。我每天需要多次停止和启动 Apache。
目前,我打开 Xampp 控制面板,单击“停止”(“Apache”旁边),等待它停止,然后单击“开始”。
理想情况下,我希望能够更快地执行此操作 - 例如右键单击 Xampp 图标,然后选择“重新启动 Apache”。或者,更好的是,只是一个重启 Apache 的快捷键。
我知道 Xampp 有两个 bat 文件 - apache_stop.bat 和 apache_start.bat。我试过利用这些来获得我想要的东西。但是,当您运行 apache_start.bat 时,您会得到一个无法摆脱的 cmd 窗口。我找不到以这种方式静默启动 Apache 的方法。
所以,基本上我希望能够完全静默地快速重启 Apache(一键/快捷键)。
提前致谢。
【问题讨论】:
【参考方案1】:@adrianthedev 的版本不适用于 (XAMPP v3.2.4) 我,但帮助我找到了解决方案。 它不那么复杂,因为我对脚本知之甚少,但它就在这里,它对我有用:
@echo off
C:/xampp/apache/bin/httpd -k stop
C:/xampp/apache/bin/httpd -k start
注意:apache\logs\httpd.pid
不需要删除,因为它已经通过 httpd -k stop
命令完成。
【讨论】:
【参考方案2】:对我来说,对于 3.2.2 版本,第一个答案不起作用。
我已将来自 apache_start.bat
和 apache_stop.bat
两个文件的脚本放在一起。
@echo off
cd /D %~dp0
echo Apache 2 is stopping...
apache\bin\pv -f -k httpd.exe -q
if not exist apache\logs\httpd.pid GOTO exit
del apache\logs\httpd.pid
echo Apache 2 is re-starting ...
apache\bin\httpd.exe
if errorlevel 255 goto finish
if errorlevel 1 goto error
goto finish
:error
echo.
echo Apache konnte nicht gestartet werden
echo Apache could not be started
pause
:finish
【讨论】:
【参考方案3】:复制apache_start.bat
并将其重命名为apache_restart.bat
。
将apache\bin\httpd.exe
这一行改为apache\bin\httpd.exe -k restart
瞧,你的重启脚本就到这里了。 你也可以给它一个快捷方式。
【讨论】:
谢谢,效果很好。我选择了这个答案,因为它允许我为它分配一个 AutoHotKey/Windows 快捷键,而且我可以从 php 脚本运行它。 在这种情况下,您不必一直打开 apache_start.bat 窗口。太好了! 对于以 .pl 结尾的标题,我从 Notepad++ 中的 CTRL+S 触发了我的重启自动热键操作。意味着 Apache 在每次保存 mod perl 脚本时都会自动重新启动。 不幸的是,这对我在 XAMPP 控制面板 v3.2.1 上不起作用 @DKSan,谢谢你的回复,我明白了,但是服务器根本没有重启。【参考方案4】:如果您的系统托盘中有 Apache 服务监视器,您可以打开它(我认为是右键单击?)然后单击“重新启动 Apache”。
如果它不在您的系统托盘中,您可以在 Apache 安装的 /bin
文件夹中找到它(称为 ApacheMonitor.exe
)。我建议在“启动”文件夹中创建一个快捷方式。
【讨论】:
以上是关于XAMPP - 重新启动 apache 的快速方法?的主要内容,如果未能解决你的问题,请参考以下文章
XAMPP 拒绝在 Mac os 10.8 上启动 Apache