效果很好。但是当我将 $command 更改为我-6ren">
gpt4 book ai didi

php - 如何从 php 脚本执行 shell 命令

转载 作者:可可西里 更新时间:2023-11-01 12:35:51 26 4
gpt4 key购买 nike

我想创建一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com