我正在尝试从 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);
我还像这样将 ejabberdctl 添加到 /etc/sudoers :
# 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 文件,它就可以工作。
帮助!