Como corrigir erro HTTP ao carregar imagens?

25

Estou usando o WordPress 3.4.1 no Ubuntu 12.04 usando o Apache e o PHP 5.3.X

Quando eu faço login no painel e adiciono uma nova postagem. Em seguida, tente fazer o upload de uma imagem para definir como uma imagem em destaque, recebo uma caixa vermelha com a mensagem "Erro HTTP".

Eu li sobre pessoas dizendo para não usar o flash uploader e apenas usar o carregador de navegador, mas quando eu tento isso, acabo de receber um 500 Internal Server Error.

Eu tentei adicionar AddType x-mapp-php5 .php no topo do meu arquivo .htaccess, sem sorte na mudança.

Desativar todos os plugins não teve efeito. Eu tentei uma nova instalação. Sem sorte.

Atualização em 17/10/2016 - Se você estiver usando funções ou recursos personalizados, tente usar uma função / recursos nativos e tente novamente.

Coisas a serem consideradas:

  • Propriedade de arquivo
  • Permissões de arquivo
  • configuração do htaccess
  • Versão do PHP 7 +
  • Versão atual do WordPress

Se você está operando por trás de um proxy, certifique-se de ter os tempos limite do servidor proxy configurados corretamente.

    
por Michael Ecklund 26.07.2012 / 19:05
fonte

5 respostas

21

Após a solução de problemas com o @Wyck no chat, reduzimos a questão subjacente.

O problema estava relacionado à minha configuração do servidor não ter a quantidade adequada de memória alocada para o Apache / PHP.

Se alguém tiver esse mesmo problema, tente verificar se você tem memória suficiente (64MB +) para o Apache / PHP nas configurações do seu servidor. Você também pode adicionar isto ao seu arquivo wp-config.php: define('WP_MEMORY_LIMIT', '64MB');

Se a solução acima não funcionar, leia este artigo ( Problemas do Image / Media Uploader? ) para resolução de problemas adicionais.

tente adicionar um por um ou todos os seguintes. Os ajustes do htaccess para o arquivo .htaccess no diretório raiz da sua instalação do WordPress.

Sério, tente uma de cada uma das soluções abaixo para saber qual delas fez o truque. Não cole todos eles no seu arquivo .htaccess imediatamente.

Experimente esta linha:

AddType x-mapp-php5 .php

mod_security pode estar causando problemas. Desativar para ver se esse é o problema. Para fazer isso, crie um arquivo .htaccess no diretório wp-admin. Adicione isto a ele:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

Se você estiver usando o Controle de Acesso baseado em Autenticação em seu Servidor Web (geralmente conhecido como htpasswd, Basic Authentiaction, diretório protegido por senha ou similar), o WordPress não poderá manipulá-lo para Flash Uploader, Cron e XMLRPC. Arquivos relacionados precisam ser excluídos para o trabalho. Tenha em mente que isso pode prejudicar suas considerações de segurança.

# Exclude the file upload and WP CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

Uma nota final: alguns disseram que, se estiver usando uma versão menor do PHP 5.3.X, você pode tentar desabilitar o Modo Seguro do PHP.

Se você estiver executando o multi-site WordPress e estiver recebendo erros HTTP ou Internos, relacionados ao upload de imagens, leia para outras possíveis soluções e soluções de problemas.

    
por Michael Ecklund 26.07.2012 / 20:47
fonte
23

Eu coloquei o seguinte código no meu arquivo functions.php . Funciona!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

Quando isso ajuda, é porque ele altera o módulo de código php usado para processar a imagem enviada para uso com o Wordpress.
Esse processamento inclui mover a imagem para o banco de dados da Biblioteca de Mídia e gerar imagens de tamanhos diferentes ("miniatura", "média", "grande") que o Wordpress sempre deseja que os Temas acessem.

Faz com que o módulo "GD" seja usado, porque é o primeiro. Em algumas configurações de servidor, a nova biblioteca "Imagick" não está reproduzindo bem com outras para determinados cenários de imagem, como grandes dimensões de pixel, forçando a biblioteca "GD" a ser usada é uma correção.

    
por Allen 30.04.2014 / 07:19
fonte
4

Eu tive o mesmo erro ao tentar fazer o upload de mídia no wordpress. No Chrome, aparece como http: error; no Firefox, o erro parece bem diferente. A web é cheia de histórias de pessoas que passaram dias para perseguir o bug (então eu tenho :-(). Soluções são abundantes, mas ninguém explica por que, pelo menos não de uma forma que seja consistente com os sintomas.

Minha contribuição digna de tuppence: notei que o problema se correlaciona com uma falha de segmentação sinalizada no arquivo de log do apache2. Isso me perturba, porque é difícil diagnosticar.

A reinicialização do servidor inteiro eliminou todos os sintomas e, de repente, eu pude fazer o upload da mídia novamente no Wordpress. Frustrantemente, eu não tenho idéia do porquê isso ocorre. A reinicialização efetivamente me impediu de qualquer pesquisa adicional, e agora terei que esperar semanas (semanas?) Para o problema reaparecer. Espero que isso ajude os outros em sua busca pela causa desse problema. Minha esposa está feliz, porque eu não posso mais passar noites caçando esse problema ...

    
por Stef Joosten 30.05.2014 / 21:19
fonte
1

Resolvi esse problema alterando meu proprietário da raiz para o apache, conforme abaixo.

chown -R apache: apache / var / www / html / mydomain

e depois mudei a permissão do wp-content / uploads / 775

depois que eu tentei fazer upload de imagem na mídia eu consegui fazer o upload da imagem.

    
por imran 29.10.2013 / 10:24
fonte
0

Eu tive o mesmo problema. Eu tentei várias correções, incluindo a alteração do processador de imagem padrão do PHP GD para o ImageMagick usando o Plug-in do Force Image Magick

Isso ajudou com o erro HTTP / erro 500, mas as miniaturas não estavam mais sendo geradas. Então, eu desativei o plug-in novamente e o que me ajudou foi essa resposta na pergunta Parece que o redimensionamento de imagens não está funcionando bem . Meu PHP_MEMORY_LIMIT foi definido como 160MB , que é o máximo que o meu hoster permite.

Para o upload de imagens, isso resultou em dimensões máximas possíveis da imagem em torno de 6000 x 6000 px ao usar o PHP GD e gerar miniaturas. Por isso, é importante não apenas verificar o tamanho do arquivo, mas também as dimensões da imagem. O upload de uma imagem com dimensões superiores resultou em um erro HTTP / erro 500, mesmo com tamanhos de arquivo pequenos.

    
por intagli 29.03.2018 / 18:15
fonte