A menudo, a pesar de modificar correctamente el valor de upload_max_filesize
en php.ini
, los usuarios se encuentran con que los cambios no se reflejan como esperaban. Esto puede deberse a varias razones:
1. Ubicación incorrecta del archivo php.ini:
- Múltiples archivos php.ini: Algunos servidores tienen múltiples archivos php.ini, especialmente si se usan diferentes versiones de PHP o si se configuran entornos virtuales. Asegúrate de estar editando el archivo correcto.
- Archivos de configuración adicionales: Algunos servidores web (como Apache) pueden tener archivos de configuración adicionales que sobrescriben los valores de php.ini.
2. Permisos de archivo:
- Permisos insuficientes: Si el archivo php.ini tiene permisos de escritura restringidos, los cambios no se guardarán correctamente. Asegúrate de que el usuario con el que estás conectado tenga permisos de escritura sobre el archivo.
3. Caché del servidor:
- Caché de PHP: El servidor web puede tener un caché de configuración de PHP. Intenta reiniciar el servidor web (Apache, Nginx, etc.) para que los cambios surtan efecto.
- Caché del navegador: Limpia la caché y las cookies de tu navegador para asegurarte de que estás viendo la versión actualizada de la página.
4. Conflictos con .htaccess:
- Directivas conflictivas: Si tienes un archivo
.htaccess
en el directorio raíz de tu sitio web, asegúrate de que las directivas de este archivo no estén sobrescribiendo los valores dephp.ini
. Puedes agregar las siguientes líneas a tu archivo.htaccess
para aumentar los límites de subida de archivos:php_value upload_max_filesize 64M php_value post_max_size 64M
5. Limitaciones del hosting:
- Restricciones del proveedor: Algunos proveedores de hosting imponen límites a los valores de configuración de PHP, incluso si modificas el archivo php.ini. Consulta con tu proveedor de hosting para conocer las limitaciones específicas.
6. Otras directivas de PHP:
- post_max_size: Asegúrate de que el valor de
post_max_size
sea igual o mayor queupload_max_filesize
. - memory_limit: Si el archivo que estás subiendo es grande, es posible que necesites aumentar el límite de memoria.
Pasos para solucionar el problema:
- Verifica la ubicación correcta de php.ini: Consulta la documentación de tu servidor web o proveedor de hosting para encontrar la ubicación exacta.
- Asegura los permisos de escritura: Utiliza el comando
chmod
para otorgar permisos de escritura al archivo php.ini. Por ejemplo:sudo chmod 644 /etc/php/7.4/apache2/php.ini
. - Reinicia el servidor web: Utiliza los comandos apropiados para reiniciar el servidor web (por ejemplo,
sudo systemctl restart apache2
). - Limpia la caché: Limpia la caché de tu navegador y la caché de OPcache (si está habilitada).
- Revisa el archivo .htaccess: Asegúrate de que no haya directivas conflictivas.
- Consulta con tu proveedor de hosting: Si ninguno de los pasos anteriores funciona, contacta con tu proveedor de hosting para obtener asistencia.
Ejemplo de cómo verificar si los cambios se han aplicado:
- Crea un archivo PHP: Crea un nuevo archivo PHP (por ejemplo,
info.php
) y añade el siguiente código:PHP<?php phpinfo(); ?>
- Accede al archivo: Accede a este archivo desde tu navegador. Busca las secciones
upload_max_filesize
ypost_max_size
para verificar si los valores se han actualizado correctamente.