echo exec工作,但exec没有

时间:2011-10-20 17:20:48

标签: php linux shell exec shell-exec

我正在使用红帽企业版n尝试制作一个简单的php页面..

当我尝试...

 // html code
 <?php
 echo exec(<cmd>); 
 ?>
// rest html code

工作正常

但是在试用时......

 // html code     
 <?php
 exec(<cmd>);
 ?>
 // rest html code

它不起作用

即使像cat,ls等简单的命令也无法正常工作,我也尝试了2 > &1,然后没有打印错误。

可能是什么错误???

2 个答案:

答案 0 :(得分:5)

文档:

从命令返回响应,您还需要打印响应

示例:

<?php
$response = array()
exec('whoami', $response);
print_r($response,true);
?>

答案 1 :(得分:0)

okkkkkkk .........我解决了这个问题。实际上有两个问题......

  1. apache用户默认在/usr/bin文件夹中搜索其命令,我尝试使用的命令位于/usr/local/bin。所以我需要在/usr/bin目录中创建该命令的软链接。

  2. 其次,apache是一个不如root的特权用户,因此需要在sticky bit命令上,以便apache可以成功运行命令。

  3. 我希望这将有助于将来也会遇到同样问题的其他人。