Original en anglais: https://argusic.com/subject/routeros-api-php

routeros-api-php

Client PHP de l'API Mikrotik RouterOS pour vos applications

Fonctionne avec des mockssource : GitHubpage d'accueilPHPMITcommit 5351c0c622e0

PHP, sous licence MIT. Le projet se décrit ainsi : api client, library, mikrotik, mikrotik api, php7, php8, psr et routeros.

routeros-api-php fonctionne, avec des substituts pour les services dont il dépend. Un agent Argusic l'a installé en 15 minutes et a rencontré 5 erreurs, toutes corrigées sans aide sur une machine propre sans GPU, et toute la session a été enregistrée.

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.

Ce que l'agent a obtenu sur une machine propre, dans ses propres mots. Comment c'est mesuré

Mesuré par Argusic sur une machine vierge, à chaque fois. Chaque chiffre renvoie à ses preuves. Score Argusic de 92 sur 100 (la moyenne des scores des exécutions de ce projet).

En un coup d'œil

verdict
Fonctionne avec des mocks
Score Argusic
92 / 100
coût de l'exécution de vérification
0,21 USD (mesuré)
exécutions enregistrées
1
dernier test
étoiles
510
forks
180
issues ouvertes
6
observateurs
31
taille
0 MB
créé le
dernier push

Données du projet issues de GitHub, avec un lien en haut de cette page, mis à jour le . Données de test d'Argusic (CC BY 4.0) ; chaque chiffre renvoie à une page d'exécution avec le log complet, l'enregistrement et leurs empreintes sha256.

Ce qui a été mesuré

Tiré de l'exécution qui a décidé ce verdict. Chaque ligne est une valeur enregistrée, pas une estimation.

Temps perdu à cause de chaque échec lors du test de routeros-api-php, tiré de l'exécution enregistrée
Chaque barre est un échec enregistré par l'agent, avec le temps qu'il a coûté. Tiré de cette exécution, et de nulle part ailleurs.

Ce qui s'est mal passé, dans les mots de l'agent

Les propres mots de l'agent, le plus grave en premier, jamais réécrits en conseils.

  • RouterOS device required by tests (ROS_HOST via phpunit.xml pointed at 192.168.10.1)6 minutes
  • No PHP runtime in container (no root to apt-install)4 minutes
  • Mock bad-credentials reply lacked terminating !done block, so client got StreamException instead of BadCredentialsException2 minutes
  • tests/ConfigTest.php asserted 12 config parameters but Config has 13 (throw_timeout_exception added)2 minutes
  • Mock TCP server process vanished between shell invocations1 minute
Temps d'installation
15 minutes
De la machine vierge à la fin
12 minutes
Erreurs rencontrées et corrigées
5 rencontrées, 5 corrigées sans aide humaine
Comment le résultat a été prouvé
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
Tokens de modèle utilisés
1 006 885
Commit exact testé
5351c0c622e0
Image de conteneur
sha256:cdd920bce783

Ce qui n'a pas été mesuré

L'autre moitié, pour que vous voyiez exactement jusqu'où vont ces preuves. Une lacune est affichée comme une lacune et n'est jamais comblée.

Pic de mémoire GPU
cette exécution a eu lieu sur une machine CPU, il n'y avait donc pas de GPU à mesurer
Comportement sur une longue durée
chaque tentative utilise les réglages documentés les plus légers et un budget de temps fixe : on mesure donc s'il fonctionne, pas comment il tient sous la charge
Comportement face aux vrais services
cette exécution n'a été vérifiée qu'avec des services de substitution

La fin de l'enregistrement

Les dernières lignes de la session de terminal qui a décidé ce verdict, exactement telles qu'elles ont été enregistrées.

**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…

Revoir toute la session, chaque commande depuis une machine propre jusqu'à ce point.

Comment le test a été mené

Un agent, un conteneur, aucune aide humaine. Il installe le projet comme l'indique sa propre documentation, l'exécute et corrige ce qui casse. Tout ce qui suit est enregistré tel que cela s'est passé : la session de terminal, le log et le commit exact. La méthode complète.

Points forts et limites

Des faits mesurés, pas des opinions. Comment ce site est rédigé.

Ce qui s'est bien passé

  • S'est remis des 5 erreurs sans intervention humaine, ce qui indique que les échecs sont assez bien documentés pour être résolus.
  • Sous licence MIT, selon son hébergeur.

Ce qui ne s'est pas bien passé, ou n'est pas connu

  • N'a atteint un état de fonctionnement qu'avec des services de substitution : rien ici ne prouve qu'il fonctionne avec les vrais.
  • Installation en 15 minutes, plus lente que la médiane des 37 projets comparables mesurés par Argusic.
  • Mesuré une seule fois jusqu'ici. Une seule tentative montre qu'il peut fonctionner, pas qu'il fonctionne de façon fiable.

Sur les 38 projets api-client qu'Argusic a installés et chronométrés, routeros-api-php a été le 31e plus rapide à atteindre un état de fonctionnement, et 23 sur 38 en ont atteint un.

Également testés, dans le même domaine

Chacun de ces projets a été installé et exécuté par Argusic sur une machine propre. Rien n'apparaît ici sans avoir été testé.

Historique des exécutions

testé partentativerésultatscorecoût USDdate
Argusic Runner1/3Fonctionne avec des mocks92,000,21

Sujets (depuis GitHub)

api-clientlibrarymikrotikmikrotik-apiphp7php8psrrouterosrouteros-api

Intégrer le badge

Markdown pour le README du projet. Il renvoie vers cette page ; conditions sur la page des conditions.

[![Tested by Argusic](https://argusic.com/badge/routeros-api-php.svg)](https://argusic.com/subject/routeros-api-php)

Questions

routeros-api-php fonctionne-t-il ?
routeros-api-php fonctionne, avec des mocks à la place des services externes. Argusic l'a installé et lancé sur une machine propre en 15 minutes, en rencontrant 5 erreurs en route, et a enregistré la session.
Comment Argusic a-t-il testé routeros-api-php ?
Sur une machine vierge et jetable, avec chaque commande enregistrée et le dépôt épinglé au commit 5351c0c622e0. Une tentative est enregistrée, et la méthode complète se trouve sur la page de méthodologie.
Combien a coûté le test de routeros-api-php ?
L'exécution qui a produit ce verdict a coûté 0,21 USD : le coût réel du calcul et du modèle, pas un prix catalogue par million de tokens. Il est enregistré sur la page de cette exécution.
Combien de temps faut-il pour installer routeros-api-php ?
15 minutes lors de l'exécution qui a décidé ce verdict, d'une machine propre à un état de fonctionnement. Il s'agit d'une tentative mesurée, pas d'une moyenne.
routeros-api-php a-t-il besoin d'un GPU ?
Pas pour démarrer. Argusic a atteint un état de fonctionnement sur une machine sans GPU.
Qu'est-ce qui pose problème lors de l'installation de routeros-api-php ?
5 problèmes sont survenus lors de l'exécution enregistrée, et 5 ont été corrigés sans aide humaine. Chacun, avec le temps qu'il a coûté, est listé sur cette page.
Comment routeros-api-php se compare-t-il aux alternatives ?
Sur les 38 projets api-client qu'Argusic a installés et chronométrés, routeros-api-php a été le 31e plus rapide à atteindre un état de fonctionnement, et 23 sur 38 en ont atteint un.
Où sont les preuves pour routeros-api-php ?
L'exécution enregistrée se trouve sur cette page, chacune avec un lien vers son log complet et son enregistrement du terminal, conservés avec une empreinte sha256 pour qu'ils ne puissent pas être modifiés discrètement.

Discussion