私は独自の韻律サーバーをセットアップしており、Windows XMPP クライアントを介して接続できます。サーバーには 2 つのアカウントがあり、それらの両方として接続し、それらの間でメッセージを交換できます (私は Mozilla Thunderbird の組み込みクライアントを使用しています)。
サーバー (「domain.com」) で仮想ホストを構成しています。
私は今、アカウントの 1 つとして PHP 経由でサーバーに接続し、他のアカウントにメッセージを送信しようとしています。私はそれを行うためにJAXLを選択しました。
$client = new JAXL(array(
'jid' => 'username',
'host' => 'domain.com',
'pass' => 'mylongcomplicatedpassword',
'auth_type' => 'SCRAM-SHA-1',
'log_level' => JAXLLogger::DEBUG,
'log_path' => './jaxl.log',
'strict' => false,
));
$client->start();
「jid」の形式に注意してください。これにより、「このサーバーはユーザー名を提供していません」というエラーが発生します。
jid を username@domain.com に変更すると、代わりに「無効なユーザー名」と表示されます。
追加すると
$client->require_xep(array('0114'));
start() の前に、「このサーバーはサービスを提供していません...」というメッセージが表示されます。JID の両方の形式で。
何が間違っている可能性がありますか?これは、PHP 7.1 および最新バージョンの JAXL と prosody で実行されています。