gpt4 book ai didi

php - 为什么下面的 php 代码没有返回预期值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:32 25 4
gpt4 key购买 nike

我正在尝试制作一些 php 脚本,这些脚本将在其他系统调用命令(如 top 和其他自定义脚本)中运行。你可以看到下面的代码非常简单。我们在下面的 php 中遇到的问题是,当我从 linux 提示符调用 php 时,如:

#php checkTOP.php 

它将在屏幕上返回 top -n 1 输出,没有问题。

当我使用 http://url.com/checkTOP.php 从网络服务器运行脚本时它只返回以下内容:

program:/usr/bin/top -n 1 ver1 = retval = 1 Returned not zero

这是我的调试语句。

<?php
$program="/usr/bin/top -n 1";
echo "program:{$program}<br /> \n";
$ver1=system($program,$retval);
echo "ver1 = {$ver1}<br />\n";
echo "retval = {$retval}<br /> \n";
if($retval==0)
{
echo "Returned 0<br />\n";
}
else
{
echo "Returned not zero <br />\n";
}
die;
?>

变化 1:还有一件事。所有权限均已正确设置/usr/bin/top 设置为 root:apache 和 rxrxrx 以及所有目录/usr/bin。

最佳答案

奥莱打败了我;我使用了输出缓冲,所以我会发布它:


<code><?PHP</code><br/>
ob_start();<br/>
$program="/usr/bin/top -n 1 -b";<br/>
passthru($program);<br/>
$t=ob_get_contents();<br/>
ob_end_clean();<br/>
<code>echo "<PRE>$t</PRE>";</code>
<code>?></code>

关于php - 为什么下面的 php 代码没有返回预期值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/748488/

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