【问题标题】:Execute command give top: failed tty get执行命令 give top: failed tty get
【发布时间】:2018-07-16 11:14:53
【问题描述】:

执行如下所示的这一行时出现问题。

sudo /usr/bin/env TERM=xterm /usr/bin/php /home/folder/folder/script.php -b val -a 2018-07-01

它给了我一个错误top: failed tty get。当我用php -f 尝试它时,它给了我另一个类似于php --help 的问题。

[0] => Array
        (
            [error] => 1
            [return] =>     top: failed tty get


        )

我想要的结果是成功执行命令而不是错误我在 PHP 脚本中使用 SSH 执行此命令。

【问题讨论】:

标签: php ssh centos


【解决方案1】:

确实可以在此处使用您的 PHP 脚本副本(根据 cmets 中的要求)进行确认,但基于您提供的内容:

看来您正在尝试执行的操作在需要 PHP 脚本中的终端的某些配置中运行“顶部”。

/home/folder/folder/script.php
<?php

exec('top -n 1 -b', $out, $error);

print_r($out);

调用
/usr/bin/php /home/folder/folder/script.php

有两种解决方案:

1) 使用上述参数 (-n 1 -b) 以批处理模式运行一次迭代 - 测试 Centos7。这应该不需要终端并将输出添加到数组中。这可能是你需要的。但如果还是失败:

2) 否则,您可以指定TERM=xterm - 看起来这是您尝试执行的操作,但您需要在 exec 中进行,而不是在调用 php 脚本的 shell 中。

/home/folder/folder/script.php
<?php

exec('TERM=xterm top -n 1 -b', $out, $error);

print_r($out);

调用
/usr/bin/php /home/folder/folder/script.php

【讨论】:

    猜你喜欢
    • 2020-08-21
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    相关资源
    最近更新 更多