Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    PHP API: добавить пользователя и пароль в Hotspot

    PHP API: добавить пользователя и пароль в Hotspot

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    PHP API: добавить пользователя и пароль в Hotspot, RouterOS
     
    hsimeonov
    Guest
    #1
    0
    07.02.2016 19:45:00
    Кто-нибудь пытался добавить имя пользователя и пароль в Hotspot через PHP API? Читал руководство по API, но не могу найти примеры или правильную команду.
     
     
     
    chenashop
    Guest
    #2
    0
    04.04.2017 21:08:00
    Пробовал запустить этот код, получил такую ошибку:  
    [root@localhost auto]# php test.php
    PHP Parse error: syntax error, unexpected '‘PEAR2_Net_RouterOS-1.0.0b5.ph’ (T_CONSTANT_ENCAPSED_STRING) в /var/www/html/auto/test.php на строке 5  

    Вот мой полный код:  
    [root@localhost auto]# cat test.php
    <?php  

    use PEAR2\Net\RouterOS;  

    require_once 'PEAR2_Net_RouterOS-1.0.0b5.phar';  

    $util = new RouterOS\Util($client = new RouterOS\Client('192.168.230.41', 'admin', '123456'));  

    $util->setMenu('/ip hotspot user')->add(  
       array(  
           'name' => 'user1',  
           'password' => 'password1',  
           'profile' => 'profile1'  
       )  
    );  
    ?>
     
     
     
    boen_robot
    Guest
    #3
    0
    04.04.2017 22:42:00
    @chenashop У вас версия PHP не ниже 5.3.0? Проверьте с помощью команды «php --version», если не уверены, и если версия старая — обновите её.
     
     
     
    chenashop
    Guest
    #4
    0
    05.04.2017 03:31:00
    У меня два сервера. На обоих возникает одна и та же ошибка.  
    [root@speed html]# php --version
    PHP 5.3.3 (cli) (built: Feb 9 2016 10:21:34)  
    [root@localhost html]# php --version
    PHP 5.6.28 (cli) (built: Nov 10 2016 16:14:06)  

    Другая API из той же папки работает нормально.
     
     
     
    chenashop
    Guest
    #5
    0
    05.04.2017 05:39:00
    Я заменил первые 3 строки на другой рабочий скрипт agi. Теперь появляется ошибка на другой строке:

    [root@localhost auto]# php test.php
    PHP Parse error:  syntax error, unexpected ‘‘name’’ (T_CONSTANT_ENCAPSED_STRING) in /var/www/html/auto/test.php on line 13  

    [root@localhost auto]# cat test.php
    <?php

    use PEAR2\Net\RouterOS;  
    require_once 'PEAR2_Net_RouterOS-1.0.0b5.phar';  
    $util = new RouterOS\Util($client = new RouterOS\Client('192.168.230.41', 'admin', '123456'));  

    $util->setMenu('/ip hotspot user')->add(  
       array(  
           'name' => 'user1',  
           'password' => 'password1',  
           'profile' => 'profile1'  
       )  
    );  

    ?>
     
     
     
    boen_robot
    Guest
    #6
    0
    05.04.2017 11:00:00
    Похоже, что форум почему-то начал использовать неразрывные пробелы даже в блоках кода, и именно из-за этого всё сломалось. Я пытался заменить исходный код выше на тот, где обычные пробелы, но в итоге в форуме всё равно появляется ошибочный вариант. Чтобы исправить это «вручную», нужно просто убрать все переносы строк и пробелы и поставить их заново.  
    EDIT: Проверяю, поможет ли новый пост… нет. Проверяю, сработает ли «code» без «=php»… первая ошибка парсинга возникает позже, внутри вызова метода «add».  
    <?php  
    use PEAR2\Net\RouterOS;  
     
    require_once 'PEAR2_Net_RouterOS-1.0.0b5.phar';  
     
    $util = new RouterOS\Util($client = new RouterOS\Client('192.168.88.1', 'admin', 'password'));  
     
    $util->setMenu('/ip hotspot user')->add(  
       array(  
           'name' => 'user1',  
           'password' => 'password1',  
           'profile' => 'profile1'  
       )  
    );
     
     
     
    chenashop
    Guest
    #7
    0
    05.04.2017 11:16:00
    Хехе, я сам весь код написал, и теперь всё работает. Большое спасибо!
     
     
     
    boltbd1975
    Guest
    #8
    0
    06.03.2019 02:29:00
    Если пользователь с таким именем уже существует, как можно его удалить и добавить снова с другим паролем? У меня проблема в том, что я хочу использовать «номер мобильного» в качестве имени пользователя. То есть один и тот же пользователь (с тем же номером мобильного) может несколько раз пытаться получить новый пароль. Заранее спасибо!
     
     
     
    boen_robot
    Guest
    #9
    0
    24.03.2019 22:18:00
    Оберни add() в блок try/catch, а в catch проверь, совпадает ли ошибка с той, которую ты знаешь, и действуй соответственно. То есть либо удали и затем добавь пользователя (или, знаешь, просто используй set() вместо remove(), а потом add()), либо сделай то, что делаешь с другими ошибками (например, пробрось исключение дальше). Либо можно использовать find(), чтобы проверить, существует ли пользователь, прежде чем принимать решение add() или set(), и таким образом избежать этой ошибки вовсе... Правда, в таком варианте ты всегда делаешь 2 запроса к API, а не 2 запроса только если пользователь уже существует. Короче говоря, добавлять новых пользователей будет медленнее.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры