需要有关Mikrotik PHP API的帮助

时间:2019-12-29 11:09:48

标签: php api mikrotik

目前,我正在为ISP开发一个Web应用程序。我正在使用Mikrotik PHP API创建防火墙连接日志。我将所有条目添加到MySql数据库中。当我在笔记本电脑上基于Windows的XAMPP服务器上使用此脚本时,一切正常,但是当我上载Ubuntu脚本时,它说

  

“此页面无法使用” ... HTTP错误500 ...

其他带有$API->write();的命令运行正常,但是此命令不起作用:

$API->comm("/ip/firewall/connection/print");

我在服务器计算机上使用Ubuntu 16.4。上面提到的命令在XAMPP(Windows)中有效,但在LAMP(Ubuntu 16.4)中无效。

完整的代码在这里:

<?php
    include_once('key.php');
    $mikrotik_ip        =       $ip;  
    $mikrotik_username  =       $user;  
    $mikrotik_password  =       $pass;

    if ($API->connect($mikrotik_ip, $mikrotik_username,$mikrotik_password)) {
        $log = $API->comm("/ip/firewall/connection/print");

        $clog = count($log);
        for($a=0;$a<=$clog;$a++){
            $state      =   isset($log[$a]['tcp-state']) ? $log[$a]['tcp-state'] : '';
            $src        =   $log[$a]['src-address'];
            $src_rep    =   $log[$a]['reply-src-address'];
            $dst        =   $log[$a]['dst-address'];
            $dst_rep    =   $log[$a]['reply-dst-address'];
            $prot       =   $log[$a]['protocol'];

            mysqli_query($connect,"insert into cts(cts_id,src_address,reply_src_address,dst_address,reply_dst_address,protocol,tcp_state,date) values('','$src','$src_rep','$dst','$dst_rep','$prot','$state','".date("Y-m-d H:i:s")."')") or die(mysqli_error());
        }
        mysqli_close($connect);
    }else{
        echo 'Not Connected';
    }
?>

0 个答案:

没有答案