与PHP的Ejabberd外部authentication问题
我现在很难过 我试图让ejabberd基于我的web应用程序已经存在的MySQL用户表进行身份validation。 环境信息 Ubuntu 8.04服务器 Ejabberd 2.0.1-2(使用hardy-backports) PHP 5.2.4 MySQL 5.0.51a-3 在ejabberd.cfg : 我已经注释掉了下面的默认auth_method行: %%{auth_method, internal}. 并取消注释并编辑以下几行: {auth_method, external}. {extauth_program, "/var/myapplication/xmpp_auth.php"}. PHP脚本 PHP脚本是基于这个来自ejabberd的doc页面的示例脚本 。 我的checkuser()和checkpass()函数完美地工作。 我已经分别testing了它们。 php -l在xmpp_auth.php中没有显示语法错误。 但是,当auth_method设置为internal ,我可以以ejabberdctl创build的用户身份login,但是当切换到外部方法时,什么都不起作用。 日志 以下是我尝试使用删除的标识信息login时的相应日志条目。 CLIENT_IP_REMOVED是我的客户端IP, SERVER_IP_REMOVED是我服务器的IP,而myapplication.com是我服务器的域名。 /var/ejabberd/ejabberd.log : =INFO REPORT==== 2009-10-28 16:01:46 === I(<0.244.0>:ejabberd_listener:112) : (#Port<0.446>) Accepted connection {{CLIENT_IP_REMOVED},65263} -> {{SERVER_IP_REMOVED},5222} =ERROR REPORT==== 2009-10-28 16:01:48 === ** […]