在退出 apache/xampp 之前运行命令

Moi*_*sés 5 php apache xampp

当Apache即将退出时,有没有办法运行命令/方法?

我有一个使用 Xampp 在 Windows 中运行的应用程序(仅限本地使用),并且希望在用户结束此应用程序时执行某种清理方法,这发生在按下 Apache 的停止按钮时。

那么我可以使用 Xampp 或 apache 甚至 php 触发的任何类型的事件?并且命令可以来自 cmd、php 等。

OBS:必须是在 apache 关闭之前的东西,所以检查 Windows 进程列表不是一个选项。

may*_*ʎɐɯ 3

IMO,我建议您制作一个批处理文件来停止 Apache 并在停止命令之前或之后调用清洁命令。

这样,在重新安装或更改环境的情况下,批处理文件独立于 XAMPP。

达到目标的步骤:

  1. cmd以管理员身份运行
  2. 转到您的 XAMPP Apache bin 文件夹
  3. 安装 Apache 作为服务,httpd -k install
  4. 现在您应该能够通过命令行手动启动和停止 Apache
httpd -k stop
httpd -k start
Run Code Online (Sandbox Code Playgroud)

您可以了解更多命令,查看链接

  1. 现在创建一个批处理文件,将其命名为您喜欢的任何名称,执行清理工作并将其放在停止或启动 Apache 之前或之后

测试示例cleanandstopapache.bat

clean.bat // or what ever calling cleaning command.
pause // just to test pause
httpd -k stop // stops Apache
Run Code Online (Sandbox Code Playgroud)

笔记:

  1. 通常,您可以通过 GUI 启动和停止 XAMPP。使用服务具有相同的效果,唯一不同的是,您不再使用命令行来启动和停止 Apache,也就是说您可以在停止 Apache 之前放置任何脚本来完成这项工作。
  2. 您可以使用 XAMPP GUI 或 XAMPP 服务,但不能同时使用两者。
  3. 我已经在我的机器上测试过它并且有效。
  4. 可以为该服务指定一个唯一的自定义名称,以便您可以在 Windows 服务中看到它。