Используйте php-cli для запуска, перезапуска и остановки apache 2.4 и mariadb.

Проблема: я хочу использовать сценарии php-cli для быстрого запуска, перезапуска или остановки Apache 2.4, а также MariaDB 10.5 в Windows 10. Несколько лет назад я сделал это во время работы с Debian:

#!/usr/bin/php
<?php
system('sudo /etc/init.d/apache2 start');
system('sudo /etc/init.d/mysql start'); 

Затем я выполнял файл, набрав что-то похожее на «php -f .server.start», где .server.start было именем файла, содержащего приведенный выше код php. Мне повезло заставить это работать, открыв командную строку, изменив каталоги на C:\Path\to\Apache24 и используя

<?php
system('httpd -k start');

Проблема в том, что мне все еще нужно перейти в этот каталог, чтобы это сработало. Затем цель побеждена, поскольку я мог просто ввести httpd -k start || стоп || запустить снова. Я использую эту машину дома для dev box. Бывают случаи, когда меня прерывают на длительные промежутки времени, и я чувствую, что мне нужен простой и быстрый способ выключить Apache и MariaDB с помощью одной или двух команд, пока я не на своем рабочем месте.

Возможно, PHP здесь не лучшее решение? Это то, что я знаю и с чем мне удобно, однако, если есть другие методы, такие как пакетный файл, я был бы готов принять любые комментарии/отзывы/направления. Я прошерстил Интернет, пытаясь выполнить эту задачу.


person Paul S    schedule 31.05.2020    source источник
comment
Учитывая, насколько лаконичным является https -k start, зачем возиться со сценарием-оболочкой на любом языке? В любом случае, в Windows я бы использовал скрипт Powershell. Просто поместите его где-нибудь в свой PATH, чтобы он был глобально исполняемым.   -  person Phil    schedule 05.06.2020
comment
Отвечает ли это на ваш вопрос - запускать скрипт powershell из любого места?   -  person Phil    schedule 05.06.2020
comment
Идея, стоящая за этим, заключается в том, что меня регулярно вызывают из моего рабочего стола. Мне не нравится, что я оставляю Apache и MariaDB работающими, пока не сижу за клавиатурой. Я не хочу открывать окно cmd, переходить в мой каталог apache и запускать команду, чтобы закрыть его, а затем мне нужно войти в MariaDB и также закрыть его. Я просто хочу, чтобы одна команда отключила их обоих одним выстрелом, быстро и правильно. Таким образом, я могу не говорить всего минуту, пока я закрываю все, а просто запускаю одну команду и работаю. Я проверю идею powershell. Спасибо за комментарии   -  person Paul S    schedule 05.06.2020