加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP tmux和屏幕没有正确的行为(没有启动,没有新的会话,没有新的

发布时间:2020-12-13 16:32:11 所属栏目:PHP教程 来源:网络整理
导读:我在php中有tmux / screen问题. 当我尝试启动屏幕会话没有任何反应. 当我尝试启动一个tmux会话时,只有当我提供www-data shell访问,甚至没有添加窗口时 我正在努力实现: 我想为一个在虚拟机上运行的进程编写一个web界面. 因为我已经写了一些脚本(在bash,因为
我在php中有tmux / screen问题.
当我尝试启动屏幕会话没有任何反应.
当我尝试启动一个tmux会话时,只有当我提供www-data shell访问,甚至没有添加窗口时

我正在努力实现:
我想为一个在虚拟机上运行的进程编写一个web界面.
因为我已经写了一些脚本(在bash,因为我在一个linux debian机器).
这些脚本需要做一些事情:
– 启动一个新的tmux窗口(如果该会话尚不存在)
– 看看tmux窗口是否正在运行/正在运行
– 停止进程(自动关闭窗口)
并且手动执行(在终端中),这些脚本按照需要进行操作.

现在Web界面将启动这些脚本(所以它们可以在php中执行exec函数).

因为它们是通过php运行的,所以它们以用户www-data的形式运行,所以我无法访问由www-data创建的tmux会话.

所以我在启动窗口/会话时有几个建议:

>我有一个命名的会话

tmux new-session -s $SessionName
从PHP开始就需要开始分离

tmux new-session -d -s $SessionName
>我想能够以超级用户身份访问会话 – >我必须定义一个socketlocation

tmux -S $SocketLocationPath new-session -d -s $SessionName

所以我的命令看起来是这样的:

tmux -S /tmp/pairedsession.socket new-session -d -s "ProcessGroup1"

此命令的问题:

>没有shell访问这个命令返回失败连接到服务器(什么是奇怪的,因为新会话通常应该启动服务器)
>使用shell访问(由于安全原因我不喜欢),但是会话创建完全是我想要的

但还有一些问题:

正如我之前所说,我想创建一些窗口来处理这些进程
命令如下所示:

tmux -S $SocketLocationPath new-window -t "$SessionName" -n "$WindowName" "$cmd"

这个工作只适用于php目录中的全局进程(如htop)或进程(如其他脚本)
我想做的是在自己的工作目录中执行一个进程,这个进程不一定在php目录中 – >我该怎么改?

我试过的

>将2>& 1添加到每个用于调试的命令 – >没有帮助
>创建没有SocketLocation的会话
>从屏幕切换到tmux,因为它有更简单的语法
>给了www数据访问shell

sudo chsh -s / bin / sh www-data
>在php中使用shell_exec,passthrough和exec函数
>使用带-dmS选项的屏幕

可能的解决方案

>给www-data shell访问(安全风险?)或者可能限制对tmux的访问,但是如何?
>禁用phps设置只执行php目录中的文件(安全风险?)
>添加一些我没有tmux的工具,没有shell:D
>更改一些php设置只允许某些目录或甚至是值得吗?
做一些完全不同的事情?

另一个奇怪的事情:当通过php启动tmux会话时,终端没有用户,没有位置
通常看起来像用户@ machinename $…
使用php它只是看起来像$…没有更多

我希望有人可以帮助我,因为我不喜欢这些凌乱的解决方法:

提前致谢
– 超模糊

经过一些挣扎,帮助googleguy @ freenode#php我终于打败了.

事实证明,PHP 7.1(在我的情况下)根本没有这样的问题.

我执行这个顺序是成功的:

shell_exec("tmux new-session -s session_name -d");
shell_exec("tmux send -t session_name gedit ENTER");

告诉我它不适合你

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读