我从不在我的项目中使用PDO,特别是序列化和反序列化。但我得到了这个错误。
致命错误:类 '找不到'Symfony \ Component \ HttpKernel \ Exception \ FlattenException' /var/www/test/mikroskil/mikroweb/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php 第56行致命错误:带消息的未捕获异常'PDOException' '您无法在[无活动状态]中序列化或反序列化PDO实例 文件]:0堆栈跟踪:#0 [内部功能]:PDO-> __ sleep()#1 [内部函数]:session_write_close()#2 {main}抛出[no 第0行的活动文件
注意: 我之前有错误。 我使用POST方法的表单。然后我就此开了一个会议。 之后,我收到了这个错误。
无法启动会话:已经由php启动($ _session是 设定)。
我试图解决这个错误。但突然页面显示此错误
致命错误:类 '找不到'Symfony \ Component \ HttpKernel \ Exception \ FlattenException' /var/www/test/mikroskil/mikroweb/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php 第56行致命错误:带消息的未捕获异常'PDOException' '您无法在[无活动状态]中序列化或反序列化PDO实例 文件]:0堆栈跟踪:#0 [内部功能]:PDO-> __ sleep()#1 [内部函数]:session_write_close()#2 {main}抛出[no 第0行的活动文件
答案 0 :(得分:0)
我最近遇到了这个问题,问题是我将模型存储在会话中(内部具有活动的pdo连接),并且在请求完成后,php自动尝试将$ _SESSION存储序列化到tmp文件上。
主要问题是PDO连接无法序列化。如果遇到此问题,则需要检查在哪里将任何对象包含pdo连接序列化。
答案 1 :(得分:-1)
我也得到了这个,但是阅读这个问题,特别是,zerkms响应帮助我找到了我的代码中的问题。清除一个缓存不是对问题的适当回应!最近我重新使用了依赖注入(?),将它们存储为会话变量已不再合适。
答案 2 :(得分:-1)
使用Medoo PHP Framework时出现了同样的错误,我意识到你无法对PDOStatement实例进行编码(序列化)。
在我的情况下,我使用 PHP json_encode 对要发送到我的应用程序的数据进行编码,部分数据包含 PDOStatement实例 - 执行数据库操作后返回的数据。我刚刚从我的数据中删除了PDOStatement实例,一切正常。
答案 3 :(得分:-2)
我找到了这个答案。 您只需在浏览器上清除Cookies即可。 也许之前的错误已经创建了一个cookie而无法取代它。 我尝试清除所有浏览器cookie并成功!
:)