我有一个新安装的Ubuntu Server 12.我想要做的是在驻留在服务器上的php网页上执行landscape-info命令,这样我就可以使用返回的数据,但它赢得了#39;由于某种原因运行。我已经检查过apache工作,因为我可以看到来自服务器IP地址的网页,并且使用phpinfo()关闭了检查安全模式,但它仍然无法显示任何内容。我自己从未运行过apache并且没有Linux经验。什么可能导致这个或什么检查的想法?谢谢。
<?php
$output = shell_exec('../../usr/bin/landscape-sysinfo');
echo "$output";
?>
编辑:
更改为:
<?php
$output = shell_exec('/usr/bin/landscape-sysinfo');
echo $output;
?>
查看apache error.log我发现了很多:
OSError: [Errno 13] Permission denied: '/var/www/.landscape'
Traceback (most recent call last):
File "/usr/bin/landscape-sysinfo", line 22, in <module>
run(sys.argv[1:], reactor)
File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/deployment.py", line 96, in run
setup_logging()
File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/deployment.py", line 83, in setup_logging
os.mkdir(landscape_dir)
File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/deployment.py", line 83, in setup_logging
os.mkdir(landscape_dir)
答案 0 :(得分:1)
目录/var/www/.landscape似乎不存在或不可写。在终端中运行:
mkdir -p /var/www/.landscape && chmod -R og+rwX /var/www/.landscape
这将使所需目录没有错误(如果它已经存在)然后将递归地更改其权限,使其对每个人都是可读/可写的,如果它有任何子目录,它们也可以被访问。