Creo que es un problema de recursos del servidor, te cuento (pase por lo mismo)
Aunque la foto sea de 3072x2304 y por ejemplo pese 300k y a simple vista no "pese" nada, en realidad el servidor procesa:
ancho 3072 x alto 2304 x resolucion 72 = 509607936 (M, si no recuerdo mal)
Yo al final opte por limitar ese dato y evitar problemas...
Código PHP:
$max_image_size = "31000000";
if ($_FILES['archivo']['size'] > $max_image_size) { $error="size"; }
Imaginate puse 31 M y a ti esa foto te da 509 M