首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP执行bash

使用PHP执行bash
EN

Stack Overflow用户
提问于 2016-03-23 08:12:50
回答 1查看 99关注 0票数 0

我想用脚本执行bash命令。如果我回显命令,我会得到正确的响应。但是如果我从浏览器执行它,它就不能工作。如果我回显命令ls,它将被执行并显示。我已授予所有权限。如果我在终端中写命令,它就能工作。

代码语言:javascript
复制
<?php
        $banlista = $_POST['banlista'];
        $ip = $_POST['ip'];
        $command = "fail2ban-client set $banlista banip $ip";
        $sporocilo = shell_exec("$command");
?>
EN

回答 1

Stack Overflow用户

发布于 2016-03-24 08:35:27

最好在php代码中运行该命令。您可以从实际命令中获得响应,并验证它是否正常工作。

如果你的代码是这样的

代码语言:javascript
复制
<?php
        $banlista = $_POST['banlista'];
        $ip = $_POST['ip'];
        $command = "fail2ban-client set $banlista banip $ip";
        $sporocilo = shell_exec("$command");
?>

您可以尝试添加以下内容:

代码语言:javascript
复制
<?php
    exec("sudo user /usr/bin/fail2ban-client set $banlista banip $ip", $output, $return);
    echo "Failtoban client returned $return, and output:\n";
    var_dump($output);
?>

您可能缺少一个sudo和一个有权从浏览器运行该命令的用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36167586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档