Javascript linux php exec()msgget:权限被拒绝
我正在尝试从php脚本(即sendMsg.php)运行linux可执行文件。 可执行文件(即msgr)使用SYS V msg queue与另一个正在运行的进程通信 sendMsg.phpJavascript 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
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