Javascript linux php exec()msgget:权限被拒绝

Javascript linux php exec()msgget:权限被拒绝,javascript,php,c,linux,message-queue,Javascript,Php,C,Linux,Message Queue,我正在尝试从php脚本(即sendMsg.php)运行linux可执行文件。 可执行文件(即msgr)使用SYS V msg queue与另一个正在运行的进程通信 sendMsg.php <?php exec('./msgr 0987654321 1234 2>&1', $output, $return_var); var_dump($return_var); var_dump($output); ?> 当我从终端运行脚本时,它工作正常,但当

我正在尝试从php脚本(即sendMsg.php)运行linux可执行文件。 可执行文件(即msgr)使用SYS V msg queue与另一个正在运行的进程通信

sendMsg.php

<?php
    exec('./msgr 0987654321 1234 2>&1', $output, $return_var);

    var_dump($return_var);
    var_dump($output);
?>
当我从终端运行脚本时,它工作正常,但当我从浏览器(通过ajax调用或其他方式)运行脚本时,我得到一个错误:

msgget: Permission denied

看起来文件权限有问题。我该如何解决这个问题?

您可能需要指出运行执行的所有者。 指

所有者应该是www数据,但这只能用于linux debian/ubuntu系统

否则就是sudo chown
sudo chmod应该可以通过更改权限来解决您的问题

?您能详细说明@Dagon吗?我已为msgr授予可执行权限。请从终端php-r尝试此操作“echo exec('whoami');“php-r”echo exec('whoami');“不输出任何内容”。
msgget: Permission denied