PHP から ejabberdctl を呼び出そうとしていますが、エラー コード 3 が引き続き表示されます (ノード ejabberd@localhost: nodedown への RPC 接続に失敗しました)。
私のPHPスクリプトには、友達を追加するための次のコードが含まれています:
exec('sudo /opt/ejabberd-2.1.2/bin/ejabberdctl add_rosteritem adil.baig40122310029739 godudu.com chburaska0822431111022397 godudu.com chburaska0822431111022397 Friends both', $output, $retCode);
exec('sudo /opt/ejabberd-2.1.2/bin/ejabberdctl add_rosteritem chburaska0822431111022397 godudu.com adil.baig40122310029739 godudu.com adil.baig40122310029739 Friends both', $output, $retCode);
次のように /etc/sudoers に ejabberdctl も追加しました。
# Custom entry for ejabberdctl, so it can be used via PHP
www-data ALL= NOPASSWD: /opt/ejabberd-2.1.2/bin/ejabberdctl
次のように、ejabberd bin ディレクトリを /etc/environment に追加しました。
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/ejabberd-2.1.2/bin"
source /etc/environment
PHP スクリプトを実行するたびに $retCode (exec リターン コード) は 3 を返しますが、コマンド ラインから同じ php ファイルを実行すると動作します。
ヘルプ!