2

(这是我的第一个问题,所以请原谅菜鸟)

我有一个来自 DigitalOcean 的 Ubuntu VPS,我安装并运行了 Openfire。我正在尝试使用 XMPPHP 发送警报,但它不发送消息。

我的代码:

include("../XMPPHP/XMPP.php");
$conn = new XMPPHP_XMPP('***.***.***.***', 5222, 'alert', 'password', 'xmpphp', '***.***.***.***', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
$conn->useEncryption(false);
$conn->connect();
$conn->processUntil('session_start');
$conn->presence("Ya, I'm online","available","aim.***.***.***.***");
$conn->message('user@***.***.***.***', "Whoah!");
$conn->disconnect();

错误:致命错误:第 86 行 /var/www/html/XMPPHP/Log.php 中的最大执行时间超过 30 秒

更详细的日志

1412738973 [INFO]: Connecting to tcp://***.***.***.***:5222 1412738973 [INFO]: Attempting Auth... 
1412738973 [INFO]: Trying DIGEST-MD5 (available : DIGEST-MD5,PLAIN) 1412738973 [INFO]: Auth success! 
1412738973 [INFO]: Bound to alert@***.***.***.***/xmpphp 1412738973 [INFO]: Session started Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/XMPPHP/Log.php on line 86

我在工作中安装在 CentOS 上的 Openfire 上运行相同的代码,但我当前的设置是在 Ubuntu 上。不确定这是否会有所作为。我收到加密失败错误,因此已被禁用。

如果我不在脚本中禁用它,我会收到此错误

[INFO]: Starting TLS encryption Warning: stream_socket_enable_crypto(): SSL: crypto enabling timeout in /var/www/html/XMPPHP/XMPP.php on line 525 Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/XMPPHP/XMLStream.php on line 466

到目前为止,我所知道的是它会连接,验证然后启动会话,并且在存在时它会卡住。我尝试了许多不同的端口、服务器名称等

Ubuntu:12.04.5 LTS PHP:5.3.10 Openfire:3.9.3

不知道去哪里或做什么。请告知我可以尝试解决此问题的方法。

提前非常感谢。

4

1 回答 1

0

$conn->presence("是的,我在线","有空","目标。..* .*****");

我的服务器地址中不需要 AIM 部分。

现在一切正常。

于 2015-01-26T15:33:52.987 回答