如何使用php代码在ejabberd上注册用户


How to register user on ejabberd using php code?

我正试图在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:

此外,我从下面的url 找到了解决方案

php exec()中的sudo

但我不知道如何使用这个

请帮助

您也可以使用ejabberd_xmlrpc使用php注册用户,但您必须更改ejabberd配置文件中的设置。在ejabberd配置文件-中取消注释这些行

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

对于php示例,请检查此链接