joserf/mikrotik-php-api
Composer 安装命令:
composer require joserf/mikrotik-php-api
包简介
Mikrotik RouterOS PHP API
README 文档
README
Uma biblioteca para facilitar, desenvolvida para trabalhar com PHP7 e PHP8.
Você pode usar esta biblioteca com versões 6.43+ do firmware RouterOS.
Instalação:
composer require joserf/mikrotik-php-api
Índice
Requisitos mínimos
php>= 7.2|8.0ext-sockets
Como usar
Alterar os campos conforme exemplo abaixo, alterando o IP, login e senha.
$config = (new Config()) ->set('host', '192.168.*.*') ->set('port', 8728) ->set('user', 'LOGIN') ->set('pass', 'SENHA');
Configurando Mikrotik
Unable to establish socket session, Connection refused.
Este erro significa que a biblioteca não pode se conectar ao seu roteador, que o Mikrotik está desligado ou o serviço da API não está ativo.
Vá para IP -> Services e habilitar api.
Ou via linha de comando:
/ip service enable api
Deseja mais segurança?
/ip service set api address=192.168.*.*
Exemplos de uso
Arquivo
exemplo.phpcompleto.
<?php require_once __DIR__ . '/../vendor/autoload.php'; error_reporting(E_ALL); use \RouterOS\Config; use \RouterOS\Client; use \RouterOS\Query; // Create config object with parameters $config = (new Config()) ->set('host', '192.168.*.*') ->set('user', 'LOGIN') ->set('pass', 'SENHA'); // Initiate client with config object $client = new Client($config); // Build query (Get resources in RouterOS) $query = new Query("/system/resource/print"); // Send query to RouterOS $request = $client->query($query); // Read answer from RouterOS $response = $client->read(); // Print result in json format print_r(json_encode($response, JSON_PRETTY_PRINT)); ?>
Após a execução do comando php exemplo.php, teremos como resultado:
[
{
"uptime": "5h34m8s",
"version": "6.47.9 (long-term)",
"build-time": "Feb\/08\/2021 12:48:33",
"free-memory": "1037193216",
"total-memory": "1073741824",
"cpu": "Intel(R)",
"cpu-count": "1",
"cpu-frequency": "3791",
"cpu-load": "0",
"free-hdd-space": "8401121280",
"total-hdd-space": "8490053632",
"write-sect-since-reboot": "6296",
"write-sect-total": "6296",
"architecture-name": "x86",
"board-name": "x86",
"platform": "MikroTik"
}
]
*Podemos efetuar o teste via web:
php -S localhost:8000/exemplo.php
Monitorando tráfego na interface
comentário:
ether1
// Build monitoring query (/interface monitor-traffic interface=ether1) $query = (new Query('/interface/monitor-traffic')) ->equal('interface', 'ether1') ->equal('once'); // Monitoring details $out = $client->query($query)->read(); print_r($out);
Podemos exibir apenas rx-bits-per-second
// show only rx-bits-per-second print_r($out [0]["rx-bits-per-second"]);
Total de usuários on-line (hotspot)
// Build query (Get users active in RouterOS) $query = new Query("/ip/hotspot/active/print"); // Count total user active in RouterOS print_r(count($response));
Usuários on-line (hotspot) JSON
// Build query (Get users active in RouterOS) $query = new Query("/ip/hotspot/active/print"); // Print result in JSON format print_r(json_encode($response, JSON_PRETTY_PRINT));
Uptime
// Build query (Get resources in RouterOS) $query = new Query("/system/resource/print"); // Show uptime active in RouterOS echo 'Uptime: ' . json_encode($response[0]['uptime']);
Links
- RouterOS Manual:API - Mikrotik oficial
joserf/mikrotik-php-api 适用场景与选型建议
joserf/mikrotik-php-api 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 78 次下载、GitHub Stars 达 1, 最近一次更新时间为 2023 年 02 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「routeros」 「mikrotik」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 joserf/mikrotik-php-api 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 joserf/mikrotik-php-api 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 joserf/mikrotik-php-api 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Client API for RouterOS/Mikrotik
Mikrotik API PHP Library for working with RouterOS API 2019
Client API for RouterOS/Mikrotik
Complete, universal PHP client for Mikrotik RouterOS v7 REST API. Framework-agnostic, zero-dependency.
Complete, universal PHP client for Mikrotik RouterOS v6 API (Socket Protocol Port 8728). Framework-agnostic, zero-dependency.
Laravel wrapper for mivodev/mikrotik-api-ros7. Provides ServiceProvider, Facade, and config.
统计信息
- 总下载量: 78
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 12
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-02-04