在php中执行shell命令

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (306)

我试图让我的脚本查找我的数据库中每个IP的发件人得分,但我无法使其工作。

这是我的代码。

<?php
include "includes/db.php";

$query = "SELECT server_id, server_ip from servers";
$get_the_ips = mysqli_query($connection, $query);

while($row = mysqli_fetch_assoc($get_the_ips){

    $server_ip = $row['server_ip'];
    $server_id = $row['server_id'];

    foreach($server_ip as $ip){

    $reversed = exec(echo $ip | awk -F . '{print $4"."$3"."$2"."$1".score.senderscore.com"}');
    $lookup = exec(dig a $reversed +short);
    $result = exec(echo $lookup | awk -F . '{print $4""}');

    echo $result;
    }

}

?>
提问于
用户回答回答于

你根本不需要使用exec()。在发布有关缺少字符串分隔符,缺少括号等的代码的问题之前,您需要做的是进行一些基本的语法检查。

<?php
include "includes/db.php";

$query = "SELECT server_id, server_ip FROM servers";
$get_the_ips = $connection->query($query);

while($row = $get_the_ips->fetch_assoc()) {
    $ip = $row["server_ip"];
    $reversed = strrev($ip);
    $lookup = gethostbyname("$reversed.score.senderscore.com");
    $result = explode(".", $lookup);
    echo $result[3];
}

扫码关注云+社区

领取腾讯云代金券