Tengo un problema extraño al cargar archivos de gran tamaño en PHP.Problema extraño al cargar archivos de gran tamaño
En php.ini, max_execution_time
se establece en 30, post_max_size
se establece en 32M, upload_max_filesize
se establece en 32M. Cuando traté de cargar un archivo de tamaño 40.2 MB, no muestra ningún error. La variable $_FILES
tiene el valor array(0) { }
y $_FILES['userfile']
muestra NULL
.
Si el tamaño del archivo es mayor que el valor ajustado en el php.ini, entonces debería devolver el mensaje de error
UPLOAD_ERR_INI_SIZE, Valor: 1; El archivo cargado excede la directiva upload_max_filesize en php.ini.
Pero tampoco muestra ningún error (ya que $_FILES
es una matriz vacía). No tengo ni idea de por qué está sucediendo esto.
Cuando cambio en php.ini y establezco que el valor de pos_max_size es 64M, upload_max_filesize
está configurado en 64M, entonces funciona bien. Entonces, decidí usar el siguiente código, en lugar de cambiar el archivo php.ini.
ini_set('upload_max_filesize', '64M');
ini_set('post_max_size', '64M');
ini_set('max_execution_time', 300);
Incluso intenté aumentar max_execution_time
. Aún así, estoy teniendo el mismo problema. ini_set()
no funciona aquí.
No estoy seguro de por qué no se había planteado el error UPLOAD_ERR_INI_SIZE, pero puedo decir que la fijación de upload_max_filesize o post_max_size con ini_set no tiene ningún efecto debido a que estos no se pueden establecer un tiempo de ejecución, de acuerdo con esta lista ini : http://www.php.net/manual/en/ini.list.php –