Мы пытаемся выполнить системную команду, которая использует внешнее устройство аудиоинтерфейса USB (подключенное к Raspberry Pi 4). Когда команда вводится в терминале tty (консоли) "/ usr / bin / jackd -dalsa -dhw: A96 -r4800 -p1024 -n2", тогда все в порядке. Однако, когда мы пытаемся запустить ту же команду, используя html и. php через браузер (код ниже - с использованием системного вызова), мы получаем ошибки. Похоже, что. php (apache2) не имеет достаточных разрешений для выполнения. Ниже приведен код, который мы используем, и полученная ошибка:
Приветствуется любая помощь в решении проблем с разрешениями.
Index. html (запускается вызов. php при нажатии кнопки СТАРТ в веб-интерфейсе)
<!DOCTYPE html>
<html>
<head>
<title>
Home
</title>
<script src="/static/jquery-3.4.1.min.js"></script>
<script src="/static/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/static/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/static/custom.css">
</head>
<body style="text-align:center;">
<h1 style="color:rgb(255,69,0);">
JackStreamer
</h1>
<div>
<form action="start.php" method="POST">
<input type="submit" value="Start" name="start-btn">
</form>
<form action="php reset.php" method="POST">
<input type="reset" value="Reset" name="reset-btn">
</form>
</div>
</body>
</html>
Старт. php
Код:
<code>#!/bin/bash
#!/var/lib/php
#!/usr/bin/php
<?php
echo "<pre>"
system ("/usr/bin/jackd -dalsa -dhw:A96 -r4800 -p1024 -n2 2>&1", $result);
echo "<hr>
";?>
Ошибка:
self-connect-mode is "Don't restrict self connect requests"
Cannot lock down 82287136 byte memory area (Cannot allocate memory)
control open "hw:A96" (No such device)
control open "hw:A96" (No such device)
creating alsa driver ... hw:A96|hw:A96|1024|2|4800|0|0|nomon|swmeter|-|32bit
control open "hw:A96" (No such device)
ALSA lib pcm_hw.c:1822:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1822:(_snd_pcm_hw_open) Invalid value for card
ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode
control open "hw:A96" (No such device)
control open "hw:A96" (No such device)
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server