¿Cómo puedo cargar archivos de WordPress de más de 2 MB en mi entorno de Elastic Beanstalk?
Cuando intento cargar archivos de WordPress de más de 2 MB en mi entorno de AWS Elastic Beanstalk, se muestra el siguiente error: «The uploaded file exceeds the upload_max_filesize directive in php.ini».
Descripción corta
La configuración predeterminada de PHP en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) no permite cargar archivos de WordPress de más de 2 MB. Para cargar archivos de más de 2 MB, cambie el valor predeterminado del parámetro upload_max_filesize en el archivo /etc/php.ini.
Importante: M y MB son expresiones equivalentes para «megabyte». Por ejemplo, 2 M equivale a 2 MB. Como MB no es válido en un archivo de configuración, debe utilizar únicamente M.
Resolución
Seleccione la solución aplicable a su pila de soluciones.
Actualización del tamaño del archivo de carga para un entorno de Elastic Beanstalk que ejecute una pila de soluciones de PHP
Para aumentar el tamaño del archivo en todas las instancias, actualice la imagen de máquina de Amazon (AMI) que utiliza.
Siga estos pasos:
- En un editor de código, cree un archivo denominado change_upload_size.config y, a continuación, añada el siguiente código al archivo:
Nota: En el ejemplo anterior, el valor del parámetro post_max_size se ha actualizado del valor predeterminado, 32 M, a 100 M.files: "/etc/php.d/99uploadsize.ini": mode: "000644" owner: root group: root content: | upload_max_filesize = 100M post_max_size = 100M commands: remove_old_ini: command: "rm -f /etc/php.d/99uploadsize.ini.bak"
Para modificar parámetros de php.ini, como memory_limit, consulte las directivas de php.ini en relación con post_max_size. El valor máximo, memory_limit, es de 256 M en Elastic Beanstalk. - En la raíz del paquete de código fuente de la aplicación, cree un nuevo directorio llamado .ebextensions y, a continuación, mueva el archivo change_upload_size.config al directorio .ebextensions. Si el directorio .ebextensions ya está incluido en el paquete de código fuente de la aplicación, guarde el archivo change_upload_size.config en el directorio .ebextensions junto con los demás archivos .config.
Ejemplo:
Importante: En el caso de las plataformas Amazon Linux 2 basadas en Elastic Beanstalk, cambie el nombre del archivo 99uploadsize.ini a z99uploadsize.ini. Para permitir que la nueva configuración de PHP anule los valores predeterminados, cambie el nombre del archivo en todas partes en el directorio .ebextension.├── wp-site.zip/ ├── .ebextensions/ ├── change_upload_size.config ├── wp-content/ ├── wp-includes/ ├── wp-admin/ ├── LICENSE ├── README.md ├── index.php ├── license.txt ├── readme.html ├── ... ├── ... ├── ... ├── ... ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php
- Abra la consola de Elastic Beanstalk y, a continuación, cree un archivo zip del paquete de código fuente de la aplicación.
- Para cargar su código en un entorno de Elastic Beanstalk existente, seleccione su entorno y, a continuación, Cargar e implementar.
Nota: Para implementar su código en un nuevo entorno de Elastic Beanstalk, consulte Creación de un entorno de Elastic Beanstalk.
Si el mensaje de error no desaparece después de cargar el archivo .ebextensions, utilice un validador de YAML para comprobar si hay errores de espacios en blanco en el código. Además, puede ejecutar el comando remove_old_ini para eliminar los archivos de copia de seguridad innecesarios. Para obtener más información, consulte Ampliación de php.ini.
Cambio del tamaño del archivo de carga de una única instancia que ejecute una pila LAMP
Siga estos pasos:
- Para usar el editor vi para abrir el archivo /etc/php.ini, ejecute el siguiente comando:
Nota: El nombre o la ruta del archivo /etc/php.ini pueden variar según la versión de PHP o la AMI que utilice.$ sudo vi /etc/php.ini
- En el editor vi, cambie el valor del parámetro upload_max_filesize a un tamaño superior a 2 MB y, a continuación, guarde el archivo.
Nota: Para modificar parámetros de php.ini, como memory_limit, consulte las directivas de php.ini en relación con post_max_size. Para obtener más información, consulte post_max_size en el sitio web de PHP. - Para reiniciar correctamente el servidor Apache, ejecute el comando apropiado para su entorno.
Amazon Linux:
Amazon Linux 2:$ sudo service httpd graceful
Nota: El nombre o la ruta del archivo /etc/php.ini pueden variar según la versión de PHP o la AMI que utilice. El comando para reiniciar el servidor Apache también puede variar si utiliza una distribución distinta de la AMI de Amazon Linux. WordPress limita la memoria de sus procesos de PHP de forma predeterminada.$ sudo service httpd reload
Información relacionada
Personalización avanzada de entornos con archivos de configuración (.ebextensions)
Alojar un blog de WordPress en Amazon Linux 2
Descripción de las directivas del núcleo de php.ini en el sitio web de PHP
Contenido relevante
- OFICIAL DE AWSActualizada hace 10 meses
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años