php exec()不';不执行,但输出工作

php exec()不';不执行,但输出工作,php,exec,Php,Exec,我基本上是做一个网页,可以在我的电脑上播放spotify音乐,使用一个。您可以通过在命令行中键入spotify来访问它,我使用exec()命令使它在我的PHP脚本中完美工作,这已经工作了一周左右 今天,电脑重新启动后,它就不工作了。我什么都试过了。当我通过命令行执行php脚本时,它工作得很好,但是当我通过web访问同一个文件时,它就不工作了 奇怪的是:当我尝试获取输出时,它的输出与工作时完全一样(例如:spotifyplay不播放音乐,但它给出了播放音乐的正确输出,等等)。我在另一篇StackO

我基本上是做一个网页,可以在我的电脑上播放spotify音乐,使用一个。您可以通过在命令行中键入
spotify
来访问它,我使用
exec()
命令使它在我的PHP脚本中完美工作,这已经工作了一周左右

今天,电脑重新启动后,它就不工作了。我什么都试过了。当我通过命令行执行php脚本时,它工作得很好,但是当我通过web访问同一个文件时,它就不工作了

奇怪的是:当我尝试获取输出时,它的输出与工作时完全一样(例如:
spotifyplay
不播放音乐,但它给出了播放音乐的正确输出,等等)。我在另一篇StackOverflow文章中读到,如果在命令末尾添加
2>&1
,它会给出完整的输出——这就是我发现错误的地方。它给出了错误
30:95:执行错误:发生了类型为-10810的错误。(-10810)
。我不知道这是什么,谷歌搜索也不会产生任何有用的结果


有什么想法吗?谢谢。

-10810
似乎是未知错误()。但是,我猜想,通过web应用程序可以访问的终端执行环境与默认终端窗口中的不同。它可能由具有不同权限的不同用户操作,并且可能具有其他一些环境变量。尝试比较暴露的环境变量,并尝试使用
exec
运行$(whoami)。好的,因此我尝试以自己的身份执行命令,因为
echo exec(“whoami”)
给出了
守护进程
,这意味着我不能以php用户的身份执行命令(这很奇怪,因为它以前工作过)-无论如何,我尝试将用户
\u www
添加到sudoers文件中,然后用
sudo-u
启动命令,这样它就会像我一样执行。我要取回这个:
sudo:没有tty存在,也没有指定askpass程序
。。。有什么帮助吗?这里有一个Stackoverflow帖子:。但是,您应该暂时使用此解决方案,并在将其暴露在网上之前找到一种方法使其在没有sudo的情况下工作,因为这会对您的机器造成严重的安全风险。是的,这就是我得到答案的原因。这是我在sudoers文件中的一行:
\u www ALL=(ALL)NOPASSWD:ALL
。应该有用吧?没有:(
-10810
似乎是未知错误()。但是,我猜您可以通过web应用程序访问的终端执行环境与默认终端窗口中的不同。它可能由具有不同权限的不同用户操作,并且可能具有其他一些环境变量。请尝试比较公开的环境变量,然后重试我使用
exec
运行$(whoami)。好吧,所以我试着像我自己一样执行命令,因为
echo exec(“whoami”)
给了
守护进程
,这意味着我不能像我的用户那样从php执行命令(这很奇怪,因为它以前工作过)-无论如何,我试图将用户
\u www
添加到sudoers文件中,然后用
sudo-u
启动命令,使其像我一样执行。我得到了以下信息:
sudo:no tty present,no askpass program specified
…嗯,有什么帮助吗?这里有一个Stackoverflow帖子:。但是,你应该只使用这个解决方法在将它暴露在网上之前,先想办法让它在没有sudo的情况下工作,因为它会给你的机器带来严重的安全风险。是的,这就是我得到答案的原因。我在sudoers文件中写了一行:
\u www ALL=(ALL)NOPASSWD:ALL
。应该工作,对吗?它不工作:(