Я нашел код из стека через поток для выполнения команды register на сервере чата ejabberd xmpp с использованием php. (Создать пользователя ejabberd из PHP)
Но когда я выполняю файл, я получаю сообщение об ошибке:
«sudo: неизвестный пользователь: ejabberd» «sudo: не удалось инициализировать плагин политики»
Я запускаю этот код на моей машине с Ubuntu (14.04 LTS 64-bit)
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
в узле $ вы можете использовать свой IP-адрес в соответствии с IP-адресом, который вы настроили в своем файле configure.cfg.
У меня следующая ошибка при запуске вышеуказанного кода
no tty present and no askpass program specified ; TTY=unknown ;
поэтому ссылка ниже является решением для кода ниже
после выполнения вышеуказанного процесса ссылки
User tester@localhost successfully registered
Других решений пока нет …