Как зарегистрировать пользователя на ejabberd с помощью php-кода?

Я пытаюсь зарегистрировать пользователя на сервере ejabberd linux.

Я использую ниже php-код

<?php
  $username = 'hello';
  $password = 'hello';
  $node = 'my ip';
  exec('sudo -S ejabberd /usr/sbin/ejabberdctl register '.$username.' '.$node.' '.$password.' 2>&1',$output,$status);
  if($output == 0){
        // Success!
        echo 'success';
   }else{
        // Failure, $output has the details
        echo '<pre>';
        foreach($output as $o){
                echo $o."\n";
        }
         echo '</pre>';
   }
?>

Но когда я запускаю файл, я получаю следующую ошибку:

sudo: /etc/sudoers.d is world writable
        [sudo] password for daemon:

Также я нашел решение по ссылке ниже

sudo в php exec()

но я не понимаю, как использовать это

Пожалуйста помоги


person Sunil Bhawsar    schedule 20.04.2016    source источник


Ответы (1)


вы также можете использовать ejabberd_xmlrpc для регистрации пользователя с помощью php, но вам нужно изменить настройки в файле конфигурации ejabberd. Раскомментируйте эти строки в файле конфигурации ejabberd:

 ## - 
  ##   port: 4560
  ##   module: ejabberd_xmlrpc
  ##   maxsessions: 10
  ##   timeout: 5000
  ##   access_commands:
  ##     xmlrpc:
  ##       commands: all
  ##   options: []

для примера php перейдите по этой ссылке

person Sunil Singh    schedule 21.04.2016