我写了一个我想从Apache调用的PHP脚本。我打算用这个来控制pianobar。
如果我直接从根终端执行脚本,它可以正常工作,但是如果我尝试通过Web服务器运行脚本,那就什么都没有。
我创建的fifo位于/home/dave/.config/pianobar/piano,PHP脚本中的相关行看起来像这样......
<?php
system("echo -n 'p' > /home/dave/.config/pianobar/piano"); //'p' pauses pianobar.
echo system('whoami');
?>
如果我在浏览器中通过Apache执行此脚本,它会回复'www-data www-data',它告诉我安全模式已禁用且system()
命令正在运行,但是pianobar继续播放。如果我从根终端运行它,它会回复'root'和pianobar暂停。如果我在我自己的用户名下从终端执行此操作,它会回复'dave'并且pianobar仍然会暂停。
我创建的/home/dave/.config/pianobar/piano
的最后一个是chmod
ded到777.什么给出了什么?这是一个权限问题吗? PHP不允许我对system()
命令执行任何有用的操作吗?
答案 0 :(得分:0)
检查文件夹权限:
stat --format '%a' /home/dave/.config/pianobar/piano
为文件夹中的所有文件设置文件夹权限:
sudo chmod -R 755 /home/dave/.config/pianobar/piano
尝试,应该工作。