我写了一个小的PHP脚本,我想从Apache调用它。我打算用这个来控制钢琴杆。
如果我直接从根终端执行脚本,它工作得很好,但如果我尝试通过web服务器运行脚本,什么都没有。
<?php
system("echo -n 'p' > /home/dave/.config/pianobar/piano"); //'p' pauses pianobar.
echo system('whoami');
?>如果我通过Apache在浏览器中执行这个脚本,它会回显'www-data www-data‘,告诉我安全模式被禁用,system()命令正在工作,但钢琴仍在播放。如果我从root终端运行此命令,它会回显'root‘,并且pianobar暂停。如果我以我自己的用户名从终端执行此命令,它会回显'dave‘,并且pianobar仍然暂停。
我创建的/home/dave/.config/pianobar/piano的先进先出是chmod到777。怎么回事?这是权限问题吗?PHP不允许我使用system()命令做任何有用的事情吗?
发布于 2014-12-23 05:14:22
检查文件夹权限:
stat --format '%a' /home/dave/.config/pianobar/piano为文件夹内的所有文件设置文件夹权限:
sudo chmod -R 755 /home/dave/.config/pianobar/piano试试看,应该行得通。
https://stackoverflow.com/questions/27610241
复制相似问题