Php 执行命令give top:tty get失败
我在执行下面显示的这一行时遇到问题Php 执行命令give top:tty get失败,php,ssh,centos,Php,Ssh,Centos,我在执行下面显示的这一行时遇到问题 sudo /usr/bin/env TERM=xterm /usr/bin/php /home/folder/folder/script.php -b val -a 2018-07-01 它给了我一个错误top:tty get失败。当我尝试使用php-f时,它给了我另一个类似于php的问题--help [0] => Array ( [error] => 1 [return] =>
sudo /usr/bin/env TERM=xterm /usr/bin/php /home/folder/folder/script.php -b val -a 2018-07-01
它给了我一个错误top:tty get失败
。当我尝试使用php-f
时,它给了我另一个类似于php的问题--help
[0] => Array
(
[error] => 1
[return] => top: failed tty get
)
我想要的结果是成功执行命令,而不是错误。我使用PHP脚本中的SSH执行此命令。确实可以在此处使用PHP脚本的副本(如注释中所要求的)进行确认,但基于您提供的内容:
/home/folder/folder/script.php
<?php
exec('top -n 1 -b', $out, $error);
print_r($out);
在一些需要PHP脚本中的终端的配置中运行“top”,似乎就是您要做的事情
/home/folder/folder/script.php
<?php
exec('top -n 1 -b', $out, $error);
print_r($out);
有两种解决方案:
1) 使用上述参数(-n1-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);
查看我是如何绕过它的
top-n1-b>top-out
,top-n1-b不起作用@lawrencerone我想在顶部执行这一行而不出现这个错误“我在PHP脚本中使用SSH执行这个命令”。请将您的问题包括在执行这个命令的PHP脚本中。
/usr/bin/php /home/folder/folder/script.php