Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Cómo puedo cargar archivos de WordPress de más de 2 MB en mi entorno de Elastic Beanstalk?

4 minutos de lectura
0

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:

  1. 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:
    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"
    Nota: En el ejemplo anterior, el valor del parámetro post_max_size se ha actualizado del valor predeterminado, 32 M, a 100 M.
    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.
  2. 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:
    ├── 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
    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.
  3. Abra la consola de Elastic Beanstalk y, a continuación, cree un archivo zip del paquete de código fuente de la aplicación.
  4. 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:

  1. Para usar el editor vi para abrir el archivo /etc/php.ini, ejecute el siguiente comando:
    $ sudo vi /etc/php.ini
    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.
  2. 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.
  3. Para reiniciar correctamente el servidor Apache, ejecute el comando apropiado para su entorno.
    Amazon Linux:
    $ sudo service httpd graceful
    Amazon Linux 2:
    $ sudo service httpd reload
    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.

Información relacionada

Personalización avanzada de entornos con archivos de configuración (.ebextensions)

Implementación de sitio web de WordPress de alta disponibilidad con una base de datos externa de Amazon RDS en Elastic Beanstalk

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

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 8 meses