gpt4 book ai didi

php - 无法通过 php (shell_exec) 访问 tmux session

转载 作者:行者123 更新时间:2023-12-04 19:11:52 26 4
gpt4 key购买 nike

我在 Ubuntu Server 18.04 上创建了一个 tmux session 。为了让多个 linux 用户访问同一个 session ,我遵循了这些
instructions.当我尝试通过命令行从“常规”用户访问 tmux 套接字/ session 时,一切正常。

我即将编写一个网站,我想在该网站上启动或终止此 session 。就像上面提供的教程一样,我将 www-data 用户添加到共享 tmux 套接字的组中。为了以 super 用户身份通过​​ php 执行此 tmux 命令,我添加了这一行 www-data ALL=NOPASSWD: /usr/bin/tmux到 visudo 文件。

当我想用 php(shell_exec) 终止已经运行的 session 时,它说:

"no server running on watten_tmux_socket".



尽管我可以使用与“普通”用户相同的命令来终止此 session 。这里有什么问题?
sudo tmux -S /tmp/watten_tmux_socket kill-session -t WattenServer

编辑 :通过 php 在套接字上启动 session 也不起作用。在/tmp 下没有创建 session 和套接字,而在命令行中它可以工作。

最佳答案

好的,我做了一个解决方法。在 PHP 中使用 sudo 非常不安全,所以现在当我想通过 php 启动或终止新的 tmux session 时,我会修改 txt 文件的内容(类似于 serverstate:on)。我安装了 incron apt-get install incron .在 incrontab 的帮助下,您可以在文件更改时注册一些排序事件。所以现在每当我修改这个文件的内容时,都会执行一个脚本来启动或终止 tmux session 。

引用:Incron tutorial

关于php - 无法通过 php (shell_exec) 访问 tmux session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52461871/

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