会话中的对象:致命错误:在第 0 行的未知中没有堆栈帧的情况下抛出异常

发布于 2024-10-11 00:25:45 字数 212 浏览 1 评论 0原文

session_start();
$_SESSION['dbo'] = NEW PDO('sqlite:database.db3');

给出:

致命错误:在第 0 行的 Unknown 中没有堆栈帧的情况下抛出异常

但将其放入普通变量不会出现错误。我想做的就是将对象放入会话中,以便它初始化一次。

session_start();
$_SESSION['dbo'] = NEW PDO('sqlite:database.db3');

gives:

Fatal error: Exception thrown without a stack frame in Unknown on line 0

but putting it to ordinary variable gives no error. All I try to do is to put object into session so it is initialized once.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

长伴 2024-10-18 00:25:45

有些对象无法序列化并存储在$_SESSION中。

如果您的目的是在会话中存储数据库连接以供重用,请不要遵循该承诺:它不起作用。

来自 关于序列化的 PHP 参考

[...] serialize() 处理除资源类型之外的所有类型。您甚至可以使用包含对其自身引用的serialize() 数组。您正在序列化的数组/对象内的循环引用也将被存储。任何其他参考都将丢失。

Some objects cannot be serialized and stored in $_SESSION.

If your intent was to store a database connection in session for reuse, don't follow that undertaking: it doesn't work.

From PHP reference on serialize:

[...] serialize() handles all types, except the resource-type. You can even serialize() arrays that contain references to itself. Circular references inside the array/object you are serializing will also be stored. Any other reference will be lost.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文