我想通过 PHP 在我的 Raspberry Pi 上使用 Mocp(控制台上的音乐)播放音乐。这个命令
mocp -S
Run Code Online (Sandbox Code Playgroud)
在控制台中工作得很好(它启动了 mocp 的服务器),但在 PHP 的 exec 函数中它不起作用:
<?php
$ret = exec("mocp -S", $out, $err);
print_r($ret);
print_r($out);
print_r($err);
?>
Run Code Online (Sandbox Code Playgroud)
它只是返回:
Array ( ) 2
Run Code Online (Sandbox Code Playgroud)
根据这个列表return_var code 2 意味着
滥用 shell 内置函数(根据 Bash 文档)
但这到底是什么意思呢?该命令mocp --help在控制台和 PHP exec 中都有效。如何在 PHP 中使用每个参数运行 mocp?
编辑:
我刚刚以“www-data”(apache 用户)身份登录并尝试运行 mocp 命令。我得到了这个回报:
FATAL_ERROR:无法创建目录
/var/www/.moc
我将.mocPi 的文件夹复制到www-data(使用用户“pi”):
sudo cp /home/pi/.moc/ /var/www/.moc
Run Code Online (Sandbox Code Playgroud)
现在我上面的脚本给了我:
运行服务器...Array ( [0] => 运行服务器... [1] => 运行服务器... ) …