我正试图在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示例,请检查此链接