Bagaimana cara mendaftarkan pengguna di ejabberd menggunakan kode php?

Saya mencoba mendaftarkan pengguna di server linux ejabberd.

Saya menggunakan kode php di bawah ini

<?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>';
   }
?>

Tetapi ketika saya menjalankan file tersebut saya mendapat kesalahan berikut:

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

Saya juga menemukan solusinya dari url di bawah ini

sudo di php exec()

tapi saya tidak mengerti cara menggunakan ini

Tolong bantu


person Sunil Bhawsar    schedule 20.04.2016    source sumber


Jawaban (1)


Anda juga dapat menggunakan ejabberd_xmlrpc untuk mendaftarkan pengguna menggunakan php tetapi Anda harus mengubah pengaturan di file konfigurasi ejabberd Anda. Batalkan komentar pada baris ini di file konfigurasi ejabberd-

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

untuk contoh php, periksa tautan ini

person Sunil Singh    schedule 21.04.2016