如何使用php代码在ejabbered上注册用户
我从stack over flow中找到了一段代码,用于使用php在ejabberd xmpp聊天服务器中执行register命令。(从PHP创建ejabberd用户) 但是当我执行文件时,我得到了一个错误: “sudo:未知用户:ejabberd” “sudo:无法初始化策略插件” 我在我的ubuntu(14.04 LTS 64位)机器上运行这段代码 我使用的php代码如下所示:如何使用php代码在ejabbered上注册用户,php,ejabberd,Php,Ejabberd,我从stack over flow中找到了一段代码,用于使用php在ejabberd xmpp聊天服务器中执行register命令。(从PHP创建ejabberd用户) 但是当我执行文件时,我得到了一个错误: “sudo:未知用户:ejabberd” “sudo:无法初始化策略插件” 我在我的ubuntu(14.04 LTS 64位)机器上运行这段代码 我使用的php代码如下所示: <?php $username = 'tester'; $password = 'teste
<?php
$username = 'tester';
$password = 'testerspassword';
$node = 'myserver.com';
exec('sudo -u ejabberd /usr/sbin/ejabberdctl register '.$username.' '.$node.' '.$password.' 2>&1',$output,$status);
if($output == 0)
{
// Success!
}
else
{
// Failure, $output has the details
echo '<pre>';
foreach($output as $o)
{
echo $o."\n";
}
echo '</pre>';
}
?>
下面的链接是下面代码的解决方案
在执行上述链接过程之后
sudo:不存在tty,也未指定askpass程序,此错误导致从不允许的节点“c8d49cc0 ctl”尝试连接-ejabberd@localhost'我的终端中的PHP命令
<?php
$username = 'tester';
$password = 'testerpassword';
$node = 'localhost';
echo exec('sudo -u ejabberd /usr/sbin/ejabberdctl register '.$username.' '.$node.' '.$password.' 2>&1',$output,$status);
die;
if($output == 0)
{
// Success!
echo "success";
}
else
{
// Failure, $output has the details
echo '<pre>';
foreach($output as $o)
{
echo $o."\n";
}
echo '</pre>';
}
?>
no tty present and no askpass program specified ; TTY=unknown ;
User tester@localhost successfully registered