作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
效果很好。但是当我将 $command 更改为我-6ren">
我想创建一个 php 脚本来执行 shell 命令并返回其输出。服务器需要私钥。当我第一次决定对此进行测试时,我创建了这个:
<?php
$command = "ls";
$output = shell_exec($command);
echo "<pre>$output</pre>";
?>
效果很好。但是当我将 $command
更改为我真正想要运行的命令时:
$command = "/etc/init.d/mycontrollerd status /etc/mycontrollerconfig";
它给了我这个输出:
You need root privileges to run this script
我的猜测是我需要使用 sudo
。当然,这需要将 pem 文件放在服务器上的某个位置。假设我这样做,$command
到底应该是什么?我应该使用 shell_exec()
、exec()
、system()
还是其他什么?
最佳答案
使用哪个 php 函数启动脚本并不重要 - 缺少的是您的用户帐户的授权。
要么使用 sudo(通过 visudo
预配置 Web 服务器用户以在没有密码的情况下运行确切的命令,并在命令前加上 sudo
)或设置一个 setuid 脚本对自身执行命令。
关于php - 如何从 php 脚本执行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685889/
我是一名优秀的程序员,十分优秀!