Как зарегистрировать пользователя на ejabbered, используя php-код

Я нашел код из стека через поток, чтобы выполнить команду register в чат-сервере ejabberd xmpp, используя php. (Создайте пользователя ejabberd с PHP)

Но когда я выполняю файл, я получил ошибку:

"sudo: неизвестный пользователь: ejabberd" "sudo: невозможно инициализировать плагин политики"

Я запускаю этот код на моей ubuntu (14.04 LTS 64-разрядной) машине. PHP-код, который я использую следующим образом:

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

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

Я использую localhost в $node , в $ node вы можете использовать свой IP-адрес в соответствии с IP-адресом, который вы настроили в файле configure.cfg.

У меня есть следующая ошибка при запуске вышеуказанного кода

 no tty present and no askpass program specified ; TTY=unknown ; 

поэтому ниже ссылка является решением для кода ниже

sudo в php exec ()

после выполнения вышеуказанного процесса связи

 User tester@localhost successfully registered