Php exec在非常特定的命令上返回空数组
在以下方面:Php exec在非常特定的命令上返回空数组,php,linux,pulseaudio,Php,Linux,Pulseaudio,在以下方面: exec('sudo -u myuser pactl list sink-inputs 2>&1', $output, $err); $output是空数组,$err是0 任何其他命令都可以正常工作,例如sudo-u myuser pactl info或sudo-u myuser whoami可以正常工作并将结果作为数组返回 编辑: 当我这样做的时候 sudo-uhttpsudo-umyuser pactl列表接收器输入 为了复制php行为,它给了我一个错误。因此,
exec('sudo -u myuser pactl list sink-inputs 2>&1', $output, $err);
$output
是空数组,$err
是0
任何其他命令都可以正常工作,例如sudo-u myuser pactl info
或sudo-u myuser whoami
可以正常工作并将结果作为数组返回
编辑:
当我这样做的时候
sudo-uhttpsudo-umyuser pactl列表接收器输入
为了复制php行为,它给了我一个错误。因此,这个问题不属于这里,而是关于pactl在本例中返回一个错误
[关闭]可能输出包含一些特殊字符,阻止捕获或显示。您是否使用
passthru
函数看到输出?您是否尝试过与执行PHP脚本的用户一起运行该命令?@baf passthru不返回输出,只返回状态。我如何检查它是否包含奇怪的字符?@mrun请查看我的编辑,它无法工作。谢谢你的帮助:)