![Перезапустите XAMPP без использования Панели управления.](https://rvso.com/image/1642371/%D0%9F%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D0%B5%20XAMPP%20%D0%B1%D0%B5%D0%B7%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%9F%D0%B0%D0%BD%D0%B5%D0%BB%D0%B8%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F..png)
Я использую XAMPP для запуска нескольких локальных сред разработки. Последние несколько лет я использую скрипт AutoHotKey, который позволяет мне запускать Панель управления XAMPP нажатием клавиши. Хотя это достаточно надежно, каждый раз, когда я нажимаю клавишу, открывается новый экземпляр Панели управления, независимо от того, сколько уже открыто и независимо от того, открыта ли она программно или вручную.
Это приводит к ситуации, когда одновременно запущено несколько экземпляров панели управления XAMPP, и у меня есть ощущение, что остановка и запуск Apache и MySQL из этих нескольких панелей управления приводит к повреждению базы данных, например:Вот этот, который происходит каждые несколько месяцев.
Как автоматизировать процесс перезапуска серверов, избежав при этом необходимости открывать Панель управления несколько раз?
решение1
Я решил, что самый простой и быстрый способ сделать это — полностью отказаться от графического интерфейса панели управления XAMPP.
Следующий скрипт AutoHotKey проверит, запущен ли XAMPP: если нет, он запустит сервер. Если да, он запуститперезапусксервер.Другими словами, он всегда будет гарантировать, что XAMPP включен.
Я разработал скрипт именно таким образом, а не как переключатель для его запуска и выключения, поскольку для меня важнее возможность быстро перезапустить сервер одним нажатием клавиши, и я никогда не замечал никаких побочных эффектов от выключения компьютера во время работы XAMPP.
Запуск и перезапуск сервера одним нажатием клавиши
Не забудьте заменить NumpadEnter
ключ на свойгорячая клавиша по выбору.
NumpadEnter::
Process, Exist, httpd.exe
If ErrorLevel = 0
{
Run, C:\XAMPP\apache_start.bat,,Hide
Run, C:\XAMPP\mysql_start.bat,,Hide
}
Else
{
Run, C:\XAMPP\apache_stop.bat
Run, C:\XAMPP\mysql_stop.bat
Sleep, 2000
Run, C:\XAMPP\apache_start.bat,,Hide
Run, C:\XAMPP\mysql_start.bat,,Hide
}
Return