无法使用 xmpphp 连接到 Facebook 聊天

Posted

技术标签:

【中文标题】无法使用 xmpphp 连接到 Facebook 聊天【英文标题】:Can't connect to facebook chat using xmpphp 【发布时间】:2013-09-15 18:10:21 【问题描述】:

今天我想创建一个非常简单的 php 应用程序来与 facebook 朋友聊天,但被击中了,我正在使用 xmpphp 连接到 facebook 聊天。下面是我写的代码。

<?php
require_once("libs/facebook/src/facebook.php");
require_once("informations/facebook_info.php");
$facebook=new Facebook($config_facebook);
if($facebook->getUser())

   //now connect to facebook chat api
   require_once('libs/xmpphp/xmpphp/xmpp.php');
   $accesstoken=$facebook->getAccessToken();
   $con=new XMPPHP_XMPP('chat.facebook.com',5222,'my-id@facebook.com',$accesstoken,'xmpphp','chat.facebook.com');
   $con->useEncryption=false;
   $con->connect();

else

    header("location:index.php");

?>

但它给我一个警告说:

警告:fclose() 期望参数 1 是资源,在第 405 行的 C:\wamp\www\libs\xmpphp\xmpphp\XMLStream.php 中给出 null

我错过了什么吗?

【问题讨论】:

我不能;在你的代码中看不到fclose.. 它是从核心类本身抛出的,不是我编码的...... 【参考方案1】:

不要将 NULL 参数传递给 fclose()。将句柄作为参数发送给它。

类似的东西

<?php

$handle = fopen('somefile.txt', 'r');

fclose($handle);

?>

【讨论】:

那部分代码包含,如下代码 if ($updated === false) $this->log->log("Error on stream_select()", XMPPHP_Log::LEVEL_VERBOSE); if ($this->reconnect) $this->doReconnect(); else fclose($this->socket); $this->socket = NULL;返回假; 如果一切都失败了,您可以使用@fclose($this-&gt;socket); 取消警告。但我不建议这样做。可以发fopen() 吗? 根本没有fopen,能不能先去看看xmpphp类,好复杂,看不懂……

以上是关于无法使用 xmpphp 连接到 Facebook 聊天的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 Facebook iOS SDK 连接到 Facebook

Strophe 无法通过 BOSH 服务器连接到 Facebook

无法通过 curl 请求连接到 Facebook

XMPPHP 与 facebook 访问令牌

Facebook无代码事件 - iOS应用程序无法连接到事件管理器

PHP中的Facebook Graph API出现不一致的错误 - 无法连接到graph.facebook.com端口443:连接超时