Como posso carregar arquivos do WordPress maiores que 2 MB para o meu ambiente do Elastic Beanstalk?
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:
- Em um editor de código, crie um novo arquivo chamado change_upload_size.config, em seguida, adicione o seguinte código ao arquivo:
Observação: no exemplo anterior, o valor do parâmetro post_max_size é atualizado do padrão 32 M para 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 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. - 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:
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.├── 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 o console do Elastic Beanstalk e, em seguida, crie um arquivo zip do pacote de origem do seu aplicativo.
- 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:
- Para usar o editor vi para abrir o arquivo /etc/php.ini, execute o seguinte comando:
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.$ sudo vi /etc/php.ini
- 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. - Para reiniciar o servidor Apache sem problemas, execute o seguinte comando em seu ambiente.
Amazon Linux:
Amazon Linux 2:$ sudo service httpd graceful
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.$ sudo service httpd reload
Informações relacionadas
Personalização avançada de ambiente com arquivos de configuração (.ebextensions)
Hospedar um blog do WordPress no Amazon Linux 2
Descrição das principais diretivas do php.ini no site do PHP
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 8 meses
- AWS OFICIALAtualizada há um ano