質問

私は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

からの仕事をしません見ます
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top