У меня есть веб-сервер, который воспроизводит музыку из малины и включает светодиод со сценарием gpio.sh. Я использую mpd, mpc и gpio.Запуск ./script.sh от PHP
Мой /var/www/index.php:
<html><body><?php
echo exec('whoami');
if(isset($_POST['button1']))
{
shell_exec('mpc play')
shell_exec('/bin/bash /var/www/gpio.sh');
}
?>
<form method="post">
<p align=center>
OUTPUT (AUDIO) => <button name="button1">PLAY</button>
</p>
</form>
</body></html>
В терминале, я могу запустить/bin/Баш /var/www/gpio.sh успешно и светодиод включения. С веб-сервера «mpc play» РАБОТАЕТ и может играть песню, но он не может запустить этот gpio.sh. Владелец index.php является WWW-данные
1 ------ использованием rwx WWW-данных WWW-данных 1262 8 декабря 10:45 gpio.sh
--- использованием rwx --- 1 www-data www-data 272 Dec 9 09:39 index.php
Что мне делать? Когда я меняю владельца index.php или gpio.sh на root, php не может выполнить. Не правда ли, мой index.php? Я не могу выполнить .sh от php. Пожалуйста, помогите.
может быть, это может помочь: http://stackoverflow.com/questions/17393265/executing-sh-scripts- с помощью PHP- –
@marco Mura: Не помощь. Все еще не работает. :( –
Я думаю (не уверен, хотя) shell_exec ждет, когда его команда завершится (синхронно). Таким образом, в вашем случае это может дождаться завершения вашей песни перед выполнением скрипта gpio.sh. Попробуйте поставить '&' (фон) для песни или удалить shell_exec ('mpc play'), чтобы увидеть, что gpio.sh выполняется хорошо! – sanjayk79