Ao usar uma nova instalação do Drupal 7.10, configurei o diretório para uploads públicos sites/uploads
.
Quando adiciono uma imagem a uma instância de conteúdo, carrego o original sites/example.org/files/imagename.png
conforme o esperado. No entanto, as outras imagens (miniatura, média e grande) não são criadas em sites/example.org/styles/*
.
O diretório é legível e gravável pelo usuário do PHP5-FPM e, portanto, não deve haver permissões de emissão.
Por que isso acontece? Como posso corrigir isso?
Respostas:
Certo, a resposta é de fato um pouco mais sutil do que eu imaginava. Acontece que a
imagecache
substituição do D7 precisa de alguma atenção no seu nginx vhost. Sem que os 404s sejam enviados ao Drupal para os arquivos ausentes, as imagens não são criadas - algo que eu não percebi inicialmente, pois supus que elas foram criadas no upload.Ele precisa ser adicionado à sua definição de servidor e você deve estar pronto para rolar. Claramente, o caminho pode precisar ser alterado para sua configuração, mas para a minha era.
fonte
Certifique-se de verificar o caminho do sistema de arquivos público e o caminho temporário em admin / config / media / file-system
Depois que essas duas pastas são definidas com as permissões corretas, minhas subpastas são criadas automaticamente quando eu salvo um arquivo, a imagem é salva e a mensagem de erro desaparece :-)
fonte
No meu caso, o problema estava causando porque as imagens foram buscadas usando https,
Adicionei as seguintes linhas nas configurações de página segura para ignorar https nos caminhos dos arquivos.
*/files/*
Espero que isso ajude alguém. :)
fonte
Enquanto você diz que verificou as permissões, ainda é onde eu começaria, já que eu mesmo tive esse problema com frequência, e quase sempre foi um problema de permissões.
Conselho geral: Antes de tudo, vá para admin / config / media / file-system e clique em "Salvar configuração". Isso fará com que o Drupal reavalie as permissões dos diretórios definidos e fornecerá mensagens de erro se houver algum problema.
Segundo: Suponho que você tenha um apache, ou www-data ou outros usuários, que possua o servidor da web, em oposição ao usuário php? Em um sistema Linux ou Mac, sudo para esse usuário. Tentar gravar um arquivo como o usuário certo , é a melhor maneira de garantir realmente que você tenha as permissões corretas. Vá para sites / domain.com / files / e chame "echo data> new_file; cat new_file;" em um terminal. Isso verificará se você realmente pode gravar no diretório de gravação. Faça o mesmo com o seu diretório tmp. Espero que alguém possa sugerir como executar as mesmas ações em um sistema como o Windows.
Terceiro: para descartar as permissões de diretório, aplique recursivamente 777 o diretório de arquivos. Você pode restaurar mais permissões sensatas posteriormente com
Quarto: verifique se o diretório tmp possui permissões permanentes.
Quinto: pode ser necessário iniciar a depuração do código se você já o tiver descoberto.
fonte
Para completar a resposta Letharion, aqui está o método que eu usei para obter estilos de imagem em miniatura, médio ... criados.
Preciso verificar primeiro todos os pontos listados acima, sem resultado.
Então (em um sistema operacional Linux), editei /usr/local/etc/suphp.conf para alterar o umask no php , para que ele pudesse criar arquivos e diretórios com 755 permissões no máximo (era no máximo 744).
E isso definitivamente resolveu o problema. :)
fonte
Biblioteca de códigos GP Criar imagem em miniatura por php Quando carregamos imagens de tamanho grande no servidor. As imagens grandes carregadas levam mais tempo para serem carregadas na página da web, por isso precisamos mostrar imagens de tamanho pequeno em nossa página. A miniatura da imagem é uma solução para gerar a miniatura da imagem carregada para mostrar as imagens de tamanho necessárias em nosso site. http://codelibrary.googleplus.co.in/create-thumbnail-image-by-php/
fonte
Estou no Drupal 8.0.3.
No meu caso, essa pasta não é gerada na instalação.
Por isso, copiei da versão mais antiga da instalação do Drupal.
Todas as imagens, incluindo miniaturas, médias e grandes, agora são exibidas.
fonte
Verifique seu arquivo .htaccess no diretório raiz e de arquivos. Substitua pelo novo arquivo .htaccess, se necessário
fonte