El archivo cargado supera la directiva upload_max_filesize
PHP rechazó el archivo antes de que WordPress vio un byte de él. El número en el mensaje es el techo de PHP, no WordPress.
The uploaded file exceeds the upload_max_filesize directive in php.ini.
Cuatro límites separados pueden producir esto, y elevar el equivocado nada cambia. Imprimir lo que PHP actualmente reporta para upload_max_filesize y post_max_size, comparar ambos contra su archivo, y recordar post_max_size debe ser el mayor de los dos o la carga falla silenciosamente en lugar.
Las causas más probables primero.
Revisa la lista en orden. Cada comprobación permite confirmar o descartar una causa antes de hacer cambios: las soluciones son distintas y adivinar cuesta más que ejecutar un comando.
| Causa | Cómo comprobarlo | Solución |
|---|---|---|
| upload_max_filesize está por debajo del tamaño del archivo | Medios → Añadir Nuevos impresos el máximo efectivo bajo la zona de gota. Si ese número es más pequeño que el archivo, éste es el. | Elevar upload_max_filesize en la configuración PHP que realmente carga. Un valor en un php.ini el proceso no lee es la razón habitual que una edición parece no hacer nada. |
| post_max_size es menor que upload_max_filesize | La carga falla con un array $_FILES vacío en lugar de este mensaje, o la pantalla de administración se recarga sin ningún error en absoluto. | Establecer post_max_size arriba upload_max_filesize. PHP descarta todo el cuerpo de solicitud primero, por lo que un límite de archivo generoso detrás de un pequeño límite de cuerpo nunca se consulta. |
| El servidor web cubre la solicitud antes de que PHP se ejecute | El navegador muestra un 413 de nginx o Apache en lugar de una pantalla de WordPress. Nada aparece en el registro PHP porque PHP nunca fue alcanzado. | Elevar client_max_body_size en nginx, o LimitRequestBody en Apache, al menos el valor PHP. Este límite se aplica en Content-Length, por lo que rechaza la solicitud antes de que cualquiera de ellos sea desbordado. |
| Un límite de red multisite | Network Admin → Settings tiene un campo de “Tamaño de archivo de carga de Max” en kilobytes, y es inferior al límite de PHP. | Aumente el ajuste de la red. Se aplica por sitio independientemente de lo que PHP permite, y se mide en KB mientras que cada otro límite aquí está en MB. |
Solución paso a paso.
Los comandos requieren WP-CLI y acceso a la consola. Si no los tienes, cada paso explica cómo hacer lo mismo desde el panel o por SFTP.
Pregunte a PHP lo que está haciendo, desde el interior de WordPress
El valor que importa es el que tiene el proceso de ejecución, que no es necesariamente el de la php.ini que editaste.
wp eval 'echo ini_get("upload_max_filesize"), " / ", ini_get("post_max_size"), PHP_EOL;'Encuentra qué php.ini que proceso carga realmente
Una pila puede tener varios. Sólo el cargado tiene cualquier efecto, y el camino se imprimen para usted.
php --ini | head -n 3
Aumente ambos valores, manteniendo post_max_size más grande
Reunirlos, subir uno sin el otro es la forma más común de que esto se ponga medio lleno.
upload_max_filesize = 256M post_max_size = 320M memory_limit = 512M
Elevar el límite del servidor web para coincidir
PHP nunca ve una solicitud que el servidor web ya rechazó, así que esto tiene que moverse también.
# nginx client_max_body_size 320m; # then nginx -t && systemctl reload nginx
Confirme el nuevo techo es en vivo
Releerlo de WordPress en lugar de confiar en el archivo. Si no ha cambiado, PHP-FPM no ha sido recargado.
systemctl reload php*-fpm wp eval 'echo ini_get("upload_max_filesize"), PHP_EOL;'
De esto se encarga la plataforma.
Los cuatro límites se establecen aquí en lugar de uno a la vez, y nginx se configura deliberadamente sobre cada valor que la pantalla de PHP Settings puede producir, por lo que el límite que puede ver y cambiar en el panel es el que realmente se aplica, en lugar de un capito de servidor web más pequeño silenciosamente sobrescribiéndolo. Cambiar es un campo de formulario, no una edición a un archivo cuya ubicación tiene que trabajar primero.
Preguntas frecuentes.
Levanté upload_max_filesize y nada cambió. ¿Por qué?
¿Cuál es la diferencia entre esto y “failed to write file to disquete”?
¿Hay un máximo que no debería pasar?
¿Puedo elevar el límite para un sitio en una red multisitio solamente?
Si el problema era otro.
Estos errores pueden parecerse en el navegador.