ums / mikrotik
Mikrotik API 的 PHP SDK
Requires
- php: ^7.4 || ^8.0
- guzzlehttp/guzzle: ^7.0
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)。请参阅 许可文件 获取更多信息。
捐赠此项目
如果您发现此项目有用,请考虑进行捐赠。捐赠的资金将用于帮助进一步开发此项目。
致谢
-
Nick Barnes
-
[Ben Menking](ben [at] infotechsc [dot] com)
-
[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.
[](https://paystack.com/pay/oqwdgv9xck)