我正在使用红帽企业版n尝试制作一个简单的php页面..
当我尝试...
// html code
<?php
echo exec(<cmd>);
?>
// rest html code
工作正常
但是在试用时......
// html code
<?php
exec(<cmd>);
?>
// rest html code
它不起作用
即使像cat,ls等简单的命令也无法正常工作,我也尝试了2 > &1
,然后没有打印错误。
可能是什么错误???
答案 0 :(得分:5)
文档:
从命令返回响应,您还需要打印响应
示例:
<?php
$response = array()
exec('whoami', $response);
print_r($response,true);
?>
答案 1 :(得分:0)
okkkkkkk .........我解决了这个问题。实际上有两个问题......
apache
用户默认在/usr/bin
文件夹中搜索其命令,我尝试使用的命令位于/usr/local/bin
。所以我需要在/usr/bin
目录中创建该命令的软链接。
其次,apache
是一个不如root的特权用户,因此需要在sticky bit
命令上,以便apache可以成功运行命令。
我希望这将有助于将来也会遇到同样问题的其他人。