我们需要能够通过我们的PHP网站上传最大50 MB的文件(存储在MySQL数据库中LONGBLOB
- 我知道这很糟糕)。我将post_max_size
增加到200M
和upload_max_filesize
增加到50M
但是,即使是更小的文件也无法发布(500 KB是可以的,但不会上传2 MB左右)。
我怀疑这可能是一个记忆问题。我将memory_limit
设置为256M
(与仅允许发布非常小的文件的原始128M
相比),但仍然不够。我可以将它设置为-1
,但我宁愿将其设置为一个足以发布50 MB文件的值(单个帖子中最多可以发布四个)。
知道如何计算我需要设置的值吗?或者问题可能在其他地方?
感谢。
答案 0 :(得分:0)
你必须执行查询,告诉你从客户端发送到mysql的语句的最大大小是什么:
'SET @@global.max_allowed_packet = <bytes>'
所以对于50MB,你会得到50 * 1024 * 1024
对于pdo(如果你使用pdo):
$db->setAttribute(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE, <bytes>);