PHP(アパッチ)からejabberdctlを呼び出す方法
質問
私はPHPからejabberdctlを呼び出すようにしようとしていますが、私は3(ノードejabberd @ localhostのに失敗したRPC接続:nodedown)のエラーコードを取得しておく。
私の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
私もそうのようには、/ etc /環境へのejabberd binディレクトリを追加しています:
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ファイルを実行した場合、それが動作する実行します。
ヘルプ!
解決
これはクッキー(アーランクッキー)の問題だったことが判明します。その答えは、 ejabberdctlはPHP の
からの仕事をしません見ます所属していません StackOverflow