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

时间:2016-04-20 10:43:38

标签: php sudo ejabberd

我正在尝试在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 in php exec()

但我没有得到如何使用这个

请帮忙

1 个答案:

答案 0 :(得分:0)

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

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

for php sample check this link