我工作的一个分析巨大的文本文件和存储一些在MySQL数据库中的信息的项目。 我注意到的领域之一是缺少信息就被显示时,然而,检查DB(从phpMyAdmin的)时,它显示的数据是完整的,所以这个问题必须与PHP,数组字段的长度之前1048576 ,而有在DB 1235597个字符。
我的PHP信息显示memory_limit的是2048M,Mysql的配置显示:在[mysqld]的key_buffer = 32M max_allowed_packet个= 32M
我不知道还有什么原因可能造成的问题......有人请帮助!
谢谢,肖恩
PDO的默认缓冲区大小为1 MB(1048576),尽量颠簸起来,以2 MB(2097152)
如果您是直接使用PDO,通过这个作为第四个参数
$pdo = new PDO(
$dsn,
$username,
$password,
array(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => 2097152)
);
如果您正在使用Laravel,这可以通过配置/ database.php中文件中加入一组选项,以你的连接来完成
// ...
'mysql' => array(
'driver' => 'mysql',
// ...
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'options' => array(
PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => 2097152
),
),
// ...