Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

Como posso carregar arquivos do WordPress maiores que 2 MB para o meu ambiente do Elastic Beanstalk?

4 minuto de leitura
0

Quando faço upload de arquivos do WordPress com mais de 2 MB no meu ambiente do AWS Elastic Beanstalk, recebo o seguinte erro: "The uploaded file exceeds the upload_max_filesize directive in php.ini."

Breve descrição

A configuração padrão do PHP em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) não permite que você carregue arquivos do WordPress com mais de 2 MB. Para fazer upload de arquivos com mais de 2 MB, altere o valor padrão do parâmetro upload_max_filesize no arquivo /etc/php.ini.

Importante: M e MB são expressões equivalentes para "megabyte". Por exemplo, 2 M é igual a 2 MB. Como MB não é válido em um arquivo de configuração, use apenas M.

Resolução

Escolha a resolução que se aplica à sua pilha de soluções.

Atualize o tamanho de arquivo de carregamento para um ambiente do Elastic Beanstalk que executa uma pilha de soluções PHP

Para aumentar o tamanho do arquivo em todas as instâncias, atualize o Amazon Machine Image (AMI) que você usa. 

Conclua as seguintes etapas:

  1. Em um editor de código, crie um novo arquivo chamado change_upload_size.config, em seguida, adicione o seguinte código ao arquivo:
    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"
    Observação: no exemplo anterior, o valor do parâmetro post_max_size é atualizado do padrão 32 M para 100 M.
    para modificar os parâmetros do php.ini, como memory_limit, consulte as diretivas de php.ini para post_max_size. O valor máximo de memory_limit no Elastic Beanstalk é 256 M.
  2. Na raiz do pacote de código-fonte do aplicativo, crie um novo diretório chamado .ebextensions e, em seguida, mova o arquivo change_upload_size.config para o diretório .ebextensions. Se o diretório .ebextensions já estiver dentro do pacote de origem do aplicativo, mantenha o arquivo change_upload_size.config no diretório .ebextensions com os outros arquivos .config.
    Exemplo:
    ├── 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: para as plataformas Amazon Linux 2 que são baseadas no Elastic Beanstalk, altere o nome do arquivo 99uploadsize.ini para z99uploadsize.ini. Para permitir que as novas configurações do PHP substituam os padrões, altere o nome do arquivo em todos os lugares em .ebextension.
  3. Abra o console do Elastic Beanstalk e, em seguida, crie um arquivo zip do pacote de origem do seu aplicativo.
  4. Para carregar seu código para um ambiente existente do Elastic Beanstalk, escolha seu ambiente e, em seguida, escolha Fazer upload e implantar.
    Observação: para implantar seu código em um novo ambiente do Elastic Beanstalk, consulte Criar um ambiente do Elastic Beanstalk.

Se a mensagem de erro persistir após o upload do arquivo .ebextensions, use um validador YAML para verificar se há erros de espaço em branco em seu código. Além disso, execute o comando remove_old_ini para remover arquivos de backup desnecessários. Para obter mais informações, consulte Extending php.ini.

Alterar o tamanho do arquivo de upload para uma única instância que executa uma pilha LAMP

Conclua as seguintes etapas:

  1. Para usar o editor vi para abrir o arquivo /etc/php.ini, execute o seguinte comando:
    $ sudo vi /etc/php.ini
    Observação: o nome ou o caminho do arquivo /etc/php.ini podem variar dependendo da versão do PHP ou da AMI que você está usando.
  2. No editor vi, altere o valor do parâmetro upload_max_filesize para um tamanho maior que 2 MB e salve o arquivo.
    Observação: para modificar os parâmetros de php.ini, como memory_limit, consulte as diretivas de php.ini para post_max_size. Para obter mais informações, consulte post_max_size no site do PHP.
  3. Para reiniciar o servidor Apache sem problemas, execute o seguinte comando em seu ambiente.
    Amazon Linux:
    $ sudo service httpd graceful
    Amazon Linux 2:
    $ sudo service httpd reload
    Observação: o nome ou o caminho do arquivo /etc/php.ini podem variar dependendo da versão do PHP ou da AMI que você está usando. Se você usar uma distribuição diferente da AMI do Amazon Linux, o comando para reiniciar o servidor Apache também poderá variar. O WordPress limita a memória de seus processos PHP por padrão.

Informações relacionadas

Personalização avançada de ambiente com arquivos de configuração (.ebextensions)

Implantar um site WordPress de alta disponibilidade com um banco de dados externo do Amazon RDS no Elastic Beanstalk

Hospedar um blog do WordPress no Amazon Linux 2

Descrição das principais diretivas do php.ini no site do PHP

AWS OFICIAL
AWS OFICIALAtualizada há 8 meses