ums / mikrotik

2.4.5 2024-08-05 16:05 UTC

This package is auto-updated.

Last update: 2024-09-05 16:16:38 UTC


README

此 PHP SDK 为与 Mikrotik RouterOS API 交互提供了一个便捷的接口。您可以使用此 SDK 连接到 Mikrotik 设备,执行命令,并管理 RouterOS 配置。

安装

此 PHP SDK 为与 Mikrotik RouterOS API 交互提供了一个便捷的接口。您可以使用此 SDK 连接到 Mikrotik 设备,执行命令,并管理 RouterOS 配置。

composer require ums/mikrotik

用法

要使用 SDK,创建 MikrotikSdk 类的实例,然后使用其方法连接到 Mikrotik 设备。

use MikrotikSdk\MikrotikSdk;

$mikrotik = new MikrotikSdk;

// Connect to Mikrotik
$connect = $mikrotik->connect('192.168.88.1', 'admin', 'password');
if ($connect) {
    echo 'Connected';
} else {
    echo 'Not Connected';
}

方法

connect($ip, $username, $password)

使用指定的 IP 地址、用户名和密码连接到 Mikrotik 设备。成功连接返回 true,否则返回 false。

$connect = $mikrotik->connect('192.168.88.1', 'admin', 'password');

disconnect()

从 Mikrotik 设备断开连接。成功断开连接返回 true,否则返回 false。

$disconnect = $mikrotik->disconnect();

其他方法

您可以使用以下方法在 Mikrotik 设备上执行各种操作

executeCommand($command, $param2 = true): 执行 RouterOS 命令。成功返回 true。

$result = $mikrotik->executeCommand('/interface/print');

sendCommand($com, $arr = array()): 发送带有可选参数的自定义命令。返回解析后的响应。

$response = $mikrotik->sendCommand('/ip/address/print', ['?interface' => 'ether1']);

parseResponse($response): 解析 RouterOS 的原始响应。返回包含解析数据的数组。

$parsedData = $mikrotik->parseResponse($response);

示例

以下是一个演示 SDK 用法的完整示例

use MikrotikSdk\MikrotikSdk;

$mikrotik = new MikrotikSdk;

// Connect to Mikrotik
$connect = $mikrotik->connect('192.168.88.1', 'admin', 'password');
if ($connect) {
    // Execute a command
    $response = $mikrotik->sendCommand('/ip/address/print', ['?interface' => 'ether1']);
    
    // Parse and display the response
    $parsedData = $mikrotik->parseResponse($response);
    print_r($parsedData);

    // Disconnect from Mikrotik
    $mikrotik->disconnect();
} else {
    echo 'Not Connected';
}

IP 地址、用户名和密码应替换为您的 Mikrotik 设备的实际值。

许可

MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。

捐赠此项目

如果您发现此项目有用,请考虑进行捐赠。捐赠的资金将用于帮助进一步开发此项目。

Donate

致谢

  • Nick Barnes

  • [Ben Menking](ben [at] infotechsc [dot] com)

  • Jeremy Jefferson

  • [Cristian Deluxe](djcristiandeluxe [at] gmail [dot] com)

  • [Mikhail Moskalev](mmv.rus [at] gmail [dot] com)

参考资料



## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

## Donate to this project

If you find this project useful, please consider making a donation. Any funds donated will be used to help further development on this project.

[![Donate](https://img.shields.io/badge/Donate-PayStack-brightgreen)](https://paystack.com/pay/oqwdgv9xck)