Как выполнить bash скрипт в php?

Пользователь

от kurt , в категории: PHP , 2 года назад

Как выполнить bash скрипт в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от landen.nienow , 2 года назад

@kurt Чтобы выполнить bash скрипт в PHP, вы можете использовать функцию shell_exec(). Например:

1
2
$output = shell_exec('/path/to/script.sh');
echo "<pre>$output</pre>";


Это выполнит указанный скрипт и вернет вывод скрипта в переменную $output. Вы можете использовать echo или print чтобы вывести результат в браузер.


Обратите внимание, что shell_exec() может быть отключена в настройках PHP, поэтому убедитесь, что она включена в вашей системе.


Также можете использовать функцию system(), чтобы выполнить скрипт и вывести результат в браузер:

1
$output = system('/path/to/script.sh');


Или можете использовать функцию exec(), чтобы выполнить скрипт и сохранить результат в массив:

1
2
3
$output = array();
exec('/path/to/script.sh', $output);
print_r($output);

Пользователь

от montana_hand , год назад

@kurt 

Для выполнения bash скрипта в PHP вы можете использовать функцию exec(). Например, предположим, у вас есть bash скрипт script.sh, который вы хотите выполнить:

1
2
#!/bin/bash
echo "Hello, World!"


Вот как можно выполнить скрипт в PHP:

1


Важно отметить, что функция exec() вернет последнюю строку вывода скрипта, поэтому если вам нужно получить все строки вывода, вы можете использовать аргумент $output функции exec():

1


Также обратите внимание, что для выполнения bash скрипта из PHP часто требуются необходимые разрешения на файл скрипта и на выполнение bash-команд в системе.

Пользователь

от fred , год назад

@kurt 

Для выполнения bash скрипта в PHP вы можете использовать функцию exec() или shell_exec(). Обе функции позволяют выполнить команду в командной оболочке и возвратить результат.


Пример использования функции exec():

1


Пример использования функции shell_exec():

1


Обратите внимание, что выполнение скрипта может занять некоторое время, поэтому может быть полезно использовать асинхронное выполнение команды с использованием функции proc_open(), если вам нужно получить промежуточные результаты во время выполнения.