CSS e JavaScript do Magento não carregados devido ao uso do caminho do sistema de arquivos

29

Não consegui instalar um módulo usando o Magento Connect, recebendo um Connection Error try again latererro. Seguindo as instruções do desenvolvedor do módulo, tentei corrigir as permissões na raiz do documento com:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod o+w var var/.htaccess app/etc
chmod 550 mage
chmod -R o+w media

Ainda não funcionou, então acabei instalando o módulo manualmente. Então, entrei no back-end do administrador e o Magento estava tentando servir arquivos CSS usando os caminhos de arquivos do sistema em vez de URLs como:

<link rel="stylesheet" type="text/css" href="/home/user/public_html/js/calendar/calendar-win2k-1.css" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/reset.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/custom.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/xmlconnect/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/menu.css" media="screen, projection" />

Eu imediatamente removi a extensão e tentei combinar as permissões de outro servidor com um Magento que funcionava sem sucesso. Eu também tenho:

  • Caches locais, APC e Magento limpos
  • Observado nos logs de erro (o log está ativado)
  • verificou os valores adequados de web / inseguro / base_url e web / secure / base_url no banco de dados
  • Reinicializado, 3 vezes;)

Minify não está sendo usado. Os arquivos CSS de mesclagem estão ativados, no entanto, não consigo descobrir como desabilitar sem a interface do administrador (o salvamento e a navegação não estão funcionando, mesmo quando eu substituo os valores corretos pelo Firebug). Todas as idéias seriam muito apreciadas!

(Pergunta originalmente publicada por @reflexiv no Stack Overflow )

Navarr
fonte
Ative o log de exceções e verifique se todos os arquivos existem.
joseantgv

Respostas:

42

Magento usando URLs de caminho completo para acessar arquivos CSS é um erro comum que resulta de duas coisas acontecendo:

  • Tendo Mesclar arquivos CSS ativados
  • Magento não consegue ler / gravar na mídia / pasta.

Para corrigir esse problema, verifique se:

  • A mídia / pasta existe na sua instalação do Magento.
  • A mídia / pasta é gravável pelo seu servidor web.

Como @flochtililoch postou no Stack Exchange :

Você deve verificar se o apache realmente possui o diretório de mídia , verificando primeiro qual usuário o apache está executando como e depois ajustando as permissões adequadamente:

chown -R <apache_user> media
chmod -R ug+w media

Mais informações aqui: Permissões do sistema de arquivos Magento

Navarr
fonte
Eu tive o mesmo problema porque a mesclagem CSS / JS foi ativada.
DmitryR
1
@DmitryR: Ter a mesclagem ativada não é, por si só, o problema, o servidor da web que não consegue gravar na mídia é o problema. Ele tenta fazer isso quando a mesclagem está ativada, falha e isso resulta. ;)
Navarr 16/02
Isso tem um erro sério: não apenas torna a pasta gravável pelo usuário apache, mas também torna a pasta gravável por todos . NÃO FAÇA ISSO. Abre uma enorme brecha na segurança.
Michael Hampton
Boa decisão. Atualizei-o para ug + w em vez de o + w
Navarr 23/10
3

Acabei de encontrar um problema muito semelhante ao copiar um site de um servidor ativo para um servidor apache dev local (MAMP). O seguinte resolveu para mim:

  1. limpeza media/csse media/jsde todos os arquivos
  2. Na core_config_dataconfiguração da tabela do banco de dados :
    dev/js/merge_filespara 0 (tinha sido 1)
    dev/css/merge_css_filesa 0 (tinha sido 1)
  3. compensação var/cache

Arquivos front-end e back-end recarregados e agora css / js estão sendo veiculados corretamente.

Freshwebs
fonte