【问题标题】:Fatal error in Facebook.php -- Uncaught PDOExceptionFacebook.php 中的致命错误——未捕获的 PDOException
【发布时间】:2013-07-14 21:56:17
【问题描述】:

我正在使用标准的 Facebook PHP SDK 以及 Zend/Db 和 PDO,我收到了这个错误:

致命错误:未捕获的异常“PDOException”和消息“你” 无法序列化或反序列化 PDO 实例 /home/myproject/public_html/lib/Facebook/Facebook.php:49 堆栈跟踪:#0 [内部函数]:PDO->__wakeup() #1 /home/myproject/public_html/lib/Facebook/Facebook.php(49): session_start() #2 /home/myproject/public_html/lib/myproject/Core.php(37): Facebook\Facebook->__construct(Array) #3 /home/myproject/public_html/init.php(29): myproject\Core->__construct(Object(stdClass)) #4 /home/myproject/public_html/post.php(2): require('/home/myproject/pub...') #5 {main} 抛出 /home/myproject/public_html/lib/Facebook/Facebook.php 第 49 行

我正在使用 PDO,但据我所知,我没有序列化任何 PDO 对象,而且我在 Facebook PHP SDK 的那部分中看不到任何甚至使用 PDO 的内容。

我知道这有点含糊,但我查看了所有引用的文件,但找不到问题所在。在使用 Facebook SDK 时,有没有人见过这样的错误?有什么建议可能是什么问题?

【问题讨论】:

    标签: php pdo facebook-php-sdk uncaught-exception


    【解决方案1】:
    /home/myproject/public_html/lib/Facebook/Facebook.php(49): session_start() #2
    

    这意味着您已经在会话中序列化了 PDO 对象。您不需要在代码中对其进行序列化,一旦分配给$_SESSION,它将在会话写入时自动序列化。

    【讨论】:

    • 我会仔细检查,但我很确定我没有将任何对象分配给 $_SESSION - 只有数组或字符串。错误似乎源于 Facebook.php,它来自 Facebook,我没有编辑。 Facebook 的常用库似乎不太可能包含这样的重大错误,所以我一定遗漏了一些东西。
    • 好的,等等——这只是在 Facebook.php 中抛出,因为它恰好是会话开始的地方,对吗?我将不得不再次搜索我的代码。一个对象必须在某处被会话化...
    • 是的,开始会话后会出现错误,它应该出现在任何session_start()之后,而不仅仅是facebook sdk中的这个。如果您在 h++p://localhost/project 上使用此代码,请注意,如果配置不正确,许多其他项目可能会转入同一个会话。
    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 2014-07-14
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多