จะลงทะเบียนผู้ใช้บน 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:

ฉันยังพบวิธีแก้ปัญหาจาก URL ด้านล่าง

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