【发布时间】:2015-02-20 23:57:17
【问题描述】:
我写了一个小的 PHP 脚本,我想从 Apache 调用它。我打算用它来控制钢琴键。
如果我直接从根终端执行脚本,它可以正常工作,但如果我尝试通过 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() 命令正在工作,但钢琴键仍在播放。如果我从根终端运行它,它会回显“根”并且钢琴条暂停。如果我使用自己的用户名从终端执行此操作,它会回显“dave”,并且钢琴键仍会暂停。
我创建的先进先出 /home/dave/.config/pianobar/piano 是 chmodded 到 777。什么给出?这是某种权限问题吗? PHP 不允许我使用system() 命令做任何有用的事情吗?
【问题讨论】:
标签: php apache permissions system chmod