gpt4 book ai didi

php - 屏幕肯定在运行时找不到屏幕 session

转载 作者:太空宇宙 更新时间:2023-11-04 11:01:56 24 4
gpt4 key购买 nike

你好,

我有一个运行游戏服务器的分离屏幕,我正在使用 bash 脚本 command.sh 将命令发送到分离屏幕。

在终端中,我可以使用以下命令,服务器成功执行命令:

./command.sh 'any command'

但是,一旦我使用 PHP 调用脚本时:

    <?PHP
if($_POST) {
$commandString = $_POST['inputCommand'];
$output = shell_exec('./command.sh $commandString');
echo "<pre>$output</pre>";
}
?>

屏幕返回错误:

No screen session found.

我试过把bash脚本的权限改成777,也试过放到web根目录下。

有人知道为什么 php 无法运行脚本但我可以在终端中运行脚本吗?


额外要求的信息

命令.sh

 #!/bin/bash
screen -S "minecraft" -X stuff "$@"$'\015'

最佳答案

似乎您正在尝试从另一个用户(默认为 www-data)的 Web 服务器启动 php 脚本。

要向屏幕发送一些文本,您必须以屏幕所有者的身份运行命令,因为屏幕在/var/run/screen/S-user/中有 700 权限

请尝试更改您的字符串:

sudo -u owner_of_the_screen ./command.sh $commandString

关于php - 屏幕肯定在运行时找不到屏幕 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645964/

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