gpt4 book ai didi

javascript - linux php 执行() msg​​get :Permission Denied

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:00 25 4
gpt4 key购买 nike

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

发送消息.php

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

var_dump($return_var);
var_dump($output);
?>

msgr.c

  int msqid;
key_t key;

if ((key = ftok("/usr/local/bin/app", 'k')) == -1) {
perror("ftok");
exit(1);
}

if ((msqid = msgget(key, 0644)) == -1) {
perror("msgget");
exit(1);
}

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

msgget: Permission denied

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

最佳答案

您可能想引用执行执行的所有者。引用PHP.net

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

否则sudo chown并且 sudo chmod 应该可以解决您的问题

关于javascript - linux php 执行() msg​​get :Permission Denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28949814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com