执行如下所示的代码行时,我遇到了一个问题。
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执行此命令。
发布于 2018-07-16 11:14:54
确实可以在这里复制一份PHP脚本(根据注释中的要求)进行确认,但这是基于您提供的内容:
在一些需要PHP脚本中的终端的配置中运行"top“似乎就是你想要做的。
/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)对于一个经过迭代测试的Centos7,使用上述参数(-n 1 -b
)批量运行。这应该不需要终端,并将输出添加到一个数组中。这可能就是你所需要的。但如果它仍然失败:
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
https://stackoverflow.com/questions/51249326
复制相似问题