gpt4 book ai didi

php - Doctrine 试图分配 4GB?

转载 作者:可可西里 更新时间:2023-11-01 08:20:56 26 4
gpt4 key购买 nike

我将带有 Doctrine 的 Post 对象映射到 Wordpress 使用的 wp_posts 表。此表中名为 post_content 的列是一个 LONGTEXT,可以包含 4GB。

当我尝试从这些表中加载对象时,我收到以下消息:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 4294967296 bytes) in /home/rdinhani/renato/php-lib/DoctrineORM-2.2.2/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php on line 165

这发生在执行查询以加载对象时(目前,只会返回一行)。

所以,Doctrine 试图分配 4GB 来加载该列中的值,但这会溢出内存。 我在这一列中没有很大的值,只有一些文本。

在 Doctrine 或 PHP 中有一些配置可以避免尝试将 4GB 分配给列,或者可以将 MySQL 列中的最大限制设置为较小的值,如 2MB、10MB 等?

最佳答案

Mysqli 驱动 has a bug .

当尝试选择 mediumtext 或 longtext 字段时,它会尝试分配整个字段大小 2^32 字节 = 4294967296。

解决方案:改成PDO_Mysql或者把medium/longtext字段改成text field。

关于php - Doctrine 试图分配 4GB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10920138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com