Hola,
Veamos, puede ser un conjunto de hechos. Por mucho que tengas upload_max_filesize a 2Mb, el total de datos enviados por POST (ficheros + campos) no puede superar el valor de post_max_size. Asi que si ambos estan a 2Mb la suma de todos los ficheros que subas debe ser menor de 2Mb. Si solo subes un o no deberia haber problema. A su vez, memory_limit debe ser mayor que post_max_size. Y luego parece que tambien le puede afectar el max_execution_time.
Todo esto sacado de
http://www.php.net/manual/en/feature...n-pitfalls.php
Luego tambien Apache tiene una directiva que limita el tamaño de los datos POST. Y esta otra LimitRequestBody tambien hay que vigilarla.
Lo que ya no se es si los valores se refieren al tamaño de fichero originalmente, o el tamaño que adquiere al codificarlo al meterlo en la cabecera POST. Creo que se codifica en base64, lo que creo que supone un 33% mas de tamaño.
Saludos.