我在mysql列中有3Mb字符串数据。当我在mysql提示符下运行SQL查询时,它返回完整的数据。但是从php我无法获取完整的数据,它只返回1mb的数据数据。
我的mysql配置有max_allowed_packet_size=33554432
PHP max_post_size=30mb
和memory_limit=300mb
答案 0 :(得分:2)
您使用的是PDO吗? 问题可能是插入缓冲区的默认值为1 MiB。
要更改它,请通过添加参数MYSQL_ATTR_MAX_BUFFER_SIZE
的新值来更新用于连接数据库的行:
$pdo = new PDO("your connection_settings", "user", "pass", array(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE=>1024*1024*5));
在此示例中,缓冲区的新大小为5 MiB。
See this page了解有关此属性的更多信息。