【发布时间】:2010-10-19 09:48:17
【问题描述】:
我正在尝试制作一些 php 脚本,这些脚本将在系统调用命令(如 top 和其他自定义脚本)中运行。你可以看到下面的代码非常简单。我们在下面的 php 中遇到的问题是,当我从 linux 提示符调用 php 时,例如:
#php checkTOP.php
它会在屏幕上返回 top -n 1 输出,那里没有问题。
当我使用http://url.com/checkTOP.php 从网络服务器运行脚本时,它只返回以下内容:
程序:/usr/bin/top -n 1 ver1 = retval = 1 返回不为零
这是我的调试语句。
<?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。
【问题讨论】:
-
Ole J. Helgesen,Eddy,您的两个答案都很好。我只是不想选择一个答案而不是另一个。我将等待一些投票来选择正确的答案。谢谢你们俩。