I'm using MySQL PDO in PHP to retrieve very long string (about 1-5mb) from the database. When tested on my local machine, everything worked fine. However, on my live server, when executing a select statement, the maximum string size returned is 1048576 bytes, which is exactly 1MB.
Hence, since the code is the same, this must be something in the PHP or MySQL settings. I have the follow:
php.ini
post_max_size = 20M
my.cnf
max_allowed_packet = 20M
So I assume I'm not setting the correct variables, since the limit is still at 1MB. Does anyone know what to set?
解决方案
Ahhh, I've been looking in the wrong place. This is not a PHP or MySQL problem, but a PDO one. You have to change the PDO::MYSQL_ATTR_MAX_BUFFER_SIZE.