Englisches Original: https://argusic.com/subject/routeros-api-php
routeros-api-php
Mikrotik RouterOS API PHP client für Ihre Anwendungen
Läuft mit MocksQuelle: GitHubHomepagePHPMITCommit 5351c0c622e0
PHP, Lizenz MIT. Das Projekt beschreibt sich selbst als: api client, library, mikrotik, mikrotik api, php7, php8, psr und routeros.
routeros-api-php läuft, mit Ersatz für die Dienste, von denen es abhängt. Ein Argusic-Agent hat es in 15 Minuten installiert und ist auf 5 Fehler gestoßen und hat jeden davon ohne Hilfe behoben. Das geschah auf einer sauberen Maschine ohne GPU, und die gesamte Sitzung wurde aufgezeichnet.
Composer dependencies install cleanly, the RouterOS API client connects and runs queries (login, print, tag, monitor-traffic, iterator) against the mock router on 127.0.0.1:8728, and the full phpunit suite passes 157 tests with 220 assertions and 4 skipped.
Was der Agent auf einer sauberen Maschine erreicht hat, in seinen eigenen Worten. So wird gemessen
Von Argusic jedes Mal auf einer frischen Maschine gemessen. Jede Zahl verlinkt auf ihren Nachweis. Argusic Score 92 von 100 (der Mittelwert der Lauf-Scores dieses Projekts).
Auf einen Blick
Projektdaten von GitHub, oben auf dieser Seite verlinkt, aktualisiert . Testdaten von Argusic (CC BY 4.0); jede Zahl verlinkt auf eine Laufseite mit dem vollständigen Log, der Aufzeichnung und deren sha256-Hashes.
Was gemessen wurde
Aus dem Lauf, der diesen Befund entschieden hat. Jede Zeile ist ein aufgezeichneter Wert, keine Schätzung.

Was schiefging, in den Worten des Agents
Die eigenen Worte des Agents, das Schwerste zuerst, nie zu Ratschlägen umgeschrieben.
- RouterOS device required by tests (ROS_HOST via phpunit.xml pointed at 192.168.10.1)6 Minuten
- No PHP runtime in container (no root to apt-install)4 Minuten
- Mock bad-credentials reply lacked terminating !done block, so client got StreamException instead of BadCredentialsException2 Minuten
- tests/ConfigTest.php asserted 12 config parameters but Config has 13 (throw_timeout_exception added)2 Minuten
- Mock TCP server process vanished between shell invocations1 Minute
- Installationszeit
- 15 Minuten
- Von der kalten Maschine bis zum Ende
- 12 Minuten
- Aufgetretene und behobene Fehler
- 5 aufgetreten, 5 ohne menschliche Hilfe behoben
- Wie das Ergebnis belegt wurde
- php vendor/bin/phpunit (ROS_* env -> 127.0.0.1:8728) exited 0: Tests: 157, Assertions: 220, Skipped: 4; plus a README-style Client script against the mock that connected (socket is resource: yes), read 1 package row (.id=*1 name=routeros-x86), tag zzzz, monitor-traffic count 3
- Verbrauchte Modell-Tokens
- 1.006.885
- Genau getesteter Commit
- 5351c0c622e0
- Container-Image
- sha256:cdd920bce783
Was nicht gemessen wurde
Die andere Hälfte, damit Sie genau sehen, wie weit dieser Nachweis reicht. Eine Lücke wird als Lücke angezeigt und nie aufgefüllt.
- Maximaler GPU-Speicher
- dieser Lauf fand auf einer CPU-Maschine statt, es gab also keine GPU zu messen
- Verhalten über einen langen Lauf
- jeder Versuch verwendet die kleinsten dokumentierten Einstellungen und ein festes Zeitbudget, daher misst dies, ob es läuft, nicht wie es sich unter Last hält
- Verhalten gegenüber echten Diensten
- dieser Lauf wurde nur gegen Ersatzdienste verifiziert
Das Ende der Aufzeichnung
Die letzten Zeilen der Terminalsitzung, die diesen Befund entschieden hat, genau so, wie sie aufgezeichnet wurden.
**Problems found and fixed** - No PHP runtime in container (no root for apt) → installed static PHP 8.3.14 in the user home; `co… - First suite run: data provider failed because the mock's TCP server died between shell invocation… - Mock bad-credentials reply lacked terminating `!done` block → client waited 30 s then surfaced `S… - `tests/ConfigTest.php` asserted 12 config params but code has 13 (new `throw_timeout_exception`) … - I also noted an unrelated harmless PHP 8.3 deprecation (`Serializable`). **Final verification (all observed)** - ✅ `composer install --no-interaction` → exit 0, 115 packages, autoload generated. - ✅ `php vendor/bin/phpunit` against the mock router at `127.0.0.1:8728` → `OK, but incomplete, ski… - ✅ README-style client script against the mock → connected (`socket is resource: yes`), `/system/p… - ✅ Wrong password against the mock → `RouterOS\Exceptions\BadCredentialsException`; mock stays up. The mock (start: `python3 mock_routeros.py`, listens `127.0.0.1:8728`) is the only new top-level fi…
Gesamte Sitzung abspielen, jeder Befehl von einer sauberen Maschine bis zu diesem Punkt.
So wurde getestet
Ein Agent, ein Container, keine menschliche Hilfe. Er installiert das Projekt so, wie es die eigene Dokumentation beschreibt, führt es aus und behebt, was nicht funktioniert. Alles Folgende wurde so aufgezeichnet, wie es geschah: die Terminalsitzung, das Log und der genaue Commit. Die vollständige Methodik.
Stärken und Grenzen
Gemessene Fakten, keine Meinungen. Wie diese Inhalte entstehen.
Was gut lief
- Hat sich von allen 5 Fehlern erholt, ohne dass ein Mensch eingriff, was zeigt, dass die Fehlschläge gut genug dokumentiert sind, um sie zu lösen.
- Lizenz MIT, laut Angabe des Hosts.
Was nicht lief oder unbekannt ist
- Hat einen lauffähigen Zustand nur gegen Ersatzdienste erreicht, daher belegt nichts hier, dass es mit den echten funktioniert.
- Die Installation dauerte 15 Minuten, langsamer als der Median der 37 vergleichbaren Projekte, die Argusic gemessen hat.
- Bisher einmal gemessen. Ein einzelner Versuch zeigt, dass es laufen kann, nicht dass es zuverlässig läuft.
Von den 38 Projekten im Bereich api-client, die Argusic installiert und zeitlich gemessen hat, belegte routeros-api-php Platz 31 bei der Zeit bis zum lauffähigen Zustand, und 23 von 38 erreichten überhaupt einen solchen Zustand.
Ebenfalls getestet, im selben Bereich
Jedes dieser Projekte wurde von Argusic auf einer sauberen Maschine installiert und ausgeführt. Hier erscheint nichts, was nicht getestet wurde.
Laufverlauf
| getestet von | Versuch | Ergebnis | Score | Kosten USD | wann |
|---|---|---|---|---|---|
| Argusic Runner | 1/3 | Läuft mit Mocks | 92,00 | 0,21 |
Themen (von GitHub)
api-clientlibrarymikrotikmikrotik-apiphp7php8psrrouterosrouteros-api
Badge einbetten
Markdown für die README des Projekts. Es verlinkt hierher zurück; Bedingungen auf der Seite mit den Nutzungsbedingungen.
[](https://argusic.com/subject/routeros-api-php)Fragen
- Läuft routeros-api-php?
- routeros-api-php läuft, mit Mocks als Ersatz für externe Dienste. Argusic hat es auf einer sauberen Maschine in 15 Minuten installiert und gestartet, ist dabei auf 5 Fehler gestoßen und hat die Sitzung aufgezeichnet.
- Wie hat Argusic routeros-api-php getestet?
- Auf einer frischen Einwegmaschine, mit jedem Befehl aufgezeichnet und dem Repository fixiert auf Commit 5351c0c622e0. Ein Versuch ist aufgezeichnet, und die vollständige Methode steht auf der Seite zur Methodik.
- Was hat der Test von routeros-api-php gekostet?
- Der Lauf, der diesen Befund ergab, kostete 0,21 USD: echte Rechen- und Modellkosten, kein Listenpreis pro Million Tokens. Der Betrag ist auf der Seite dieses Laufs aufgezeichnet.
- Wie lange dauert die Installation von routeros-api-php?
- 15 Minuten in dem Lauf, der diesen Befund entschieden hat, von einer sauberen Maschine bis zum lauffähigen Zustand. Das ist ein gemessener Versuch, kein Durchschnitt.
- Braucht routeros-api-php eine GPU?
- Nicht zum Starten. Argusic hat auf einer Maschine ohne GPU einen lauffähigen Zustand erreicht.
- Was geht bei der Installation von routeros-api-php schief?
- Im aufgezeichneten Lauf gingen 5 Dinge kaputt, und 5 davon wurden ohne menschliche Hilfe behoben. Jedes davon und die Zeit, die es gekostet hat, ist auf dieser Seite aufgeführt.
- Wie schneidet routeros-api-php im Vergleich zu Alternativen ab?
- Von den 38 Projekten im Bereich api-client, die Argusic installiert und zeitlich gemessen hat, belegte routeros-api-php Platz 31 bei der Zeit bis zum lauffähigen Zustand, und 23 von 38 erreichten überhaupt einen solchen Zustand.
- Wo ist der Nachweis für routeros-api-php?
- Der aufgezeichnete Lauf ist auf dieser Seite, jeweils mit Link auf das vollständige Log und die Terminalaufzeichnung, gespeichert mit einem sha256-Fingerabdruck, damit nichts unbemerkt verändert werden kann.