madmaker
@madmaker
Full stack программист

Как выполнить несколько консольных команд в php?

OS Windows,
Xampp.

Есть определенные команды в cmd, которые нужно через php запускать и получать результат выполнения, а именно:
1. Запуск батника (он прописывает переменные, с которыми работает команда 2)
2. Выполнение команды

Хотелось бы это сделать в php.

Либо альтернативный вариант, как костыль:
В Php генерить батник и просто запускать его через php.

Самое главное - мне нужен вывод консоли, чтобы с ним дальше работать.

Пробовал exec, system, обратный апостроф, разделять две команды с помощью &&.

Получаю такие результаты:
Батник 1 вроде бы как отрабатывает, но в команде 2 эти переменные не видны.
Либо возвращается пустота.
Либо php-скрипт вообще перестает отвечать.
Еще вариант ошибки: " не является внутренней или внешней командой, исполняемой программой или пакетным файлом, командой, исполняемой программой или пакетным файлом.9009

Подскажите пожалуйста, как в php запускать консольные команды, чтобы выполнялось несколько подряд.
  • Вопрос задан
  • 1446 просмотров
Решения вопроса 1
madmaker
@madmaker Автор вопроса
Full stack программист
В общем методом тыка нашел рецепт.

$gotIt = array();
$cmd = "C:\\soft\\script.bat && my_comand -arg1=value1";
exec( $cmd, $gotIt );
echo implode('<br>',$gotIt);


Если в $cmd строку писать одинарными кавычками либо путь писать прямыми тегами, то у меня не работало.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы