0

我目前正在尝试使用 PHP 为我的 V-Server(运行 Debian 6.0.6)构建一个屏幕管理器。

我的脚本确实已经显示了 runnung 屏幕,但是我在运行新屏幕时失败了:

webstat.php:

exec('sudo -u root screen -ls',$result);
print_r($result);

添加到 sudoers (我知道这是不安全的,但在测试阶段更容易):

www-data ALL=(ALL) NOPASSWD: ALL

这是我尝试在新屏幕中运行 PHP 文件的代码:

exec('sudo -u root screen -S screenId php /var/www/script.php parameter1=1',$result);
print_r($result);

这只是输出“必须连接到终端。”,但使用 SSH 这个命令运行良好。

接下来我阅读了 SSH 命令并尝试了这个命令:

sudo -u root ssh -t root@box screen -S screenId php /var/www/script.php parameter1=1

该命令使用 PuTTY 工作,但是当我在 PHP 中使用此命令时,它没有给出任何结果,也没有启动新的屏幕会话:

exec('sudo -u root ssh -t root@box screen -S screenId php /var/www/script.php parameter1=1',$result);
print_r($result);

我的 V-Server 上没有禁用任何功能。我不想编写我用 PHP 调用的 bash 脚本,我想直接用 PHP 执行命令。

如果有人知道如何解决这个问题,那就太好了!

4

0 回答 0