No dia anterior, atualizei um novo módulo e ele estava funcionando normalmente. Agora, quando executo bin/magento setup:upgrade
, recebo a exceção abaixo. Tentei definir permissões para 777 (ou 770) para a pub
pasta no Magento 2, mas não está funcionando.
[Exceção]
Faltam permissões de gravação nos seguintes diretórios: 'pub / static'
magento2
permissions
static-content
Thao Pham
fonte
fonte
Respostas:
pub/static
Pasta truncada TL; DR .Para mim, eu tinha uma instalação mais antiga, que provavelmente tinha alguns links simbólicos e arquivos antigos que não existem mais.
O problema
checkInstallationFilePermissions
é que ele verifica as permissões recursivamente. Arquivos e pastas. Eu tinha um link simbólico ausente e isso retornava falso no cheque, se for gravável.Como depurar:
setup/src/Magento/Setup/Model/FilePermissions.php
Ir para a linha 143 no método
checkRecursiveDirectories
Adicione as linhas
var_dump($subDirectory);var_dump($subDirectory->isWritable());
Executar novamente
bin/magento setup:upgrade
agora você verá o que está realmente errado e poderá corrigi-lo. Pessoalmente, eu removo tudo
pub/static
, isso será um conteúdo gerado automaticamente, assim você não deve se preocupar com isso.fonte
Eu encontrei esse erro no desenvolvimento por causa de um link simbólico quebrado.
Eu criei um arquivo no
view/frontend/web
diretório de um módulo que nodeveloper
modo foi implantado nopub/static
diretório usando um link simbólico que apontava para o diretório do módulo em que o arquivo original está armazenado.Em algum momento do desenvolvimento, removi o arquivo do meu módulo, mas o link simbólico ainda existia ao
pub/static
apontar para um arquivo que não existia mais. Espero que esse também seja o caso se eu tivesse renomeado um dos arquivos.Se um site está no
production
modo e já foibin/magento setup:static-content:deploy
executado, ele realmente copia os arquivos para opub/static
diretório em vez de criar links simbólicos.Para encontrar esse link simbólico quebrado, executei um comando do shell
A remoção do link simbólico interrompido resolveu o problema (por exemplo, usando
find -L . -type l -exec rm {} \;
).fonte
Dentro do diretório raiz do Magento, execute os comandos abaixo e seu problema deve ter desaparecido:
Trabalhou para mim.
fonte
.htaccess
arquivo. Você precisa de.htaccess
arquivo.Você deve configurar as permissões conforme descrito na documentação oficial: http://devdocs.magento.com/guides/v2.0/install-gde/install/file-system-perms.html
fonte
Este é o meu temporário resolvido. Eu comento as linhas 744 e 466 em
<magento_dir>/setup/src/Magento/Setup/Model/Installer.php
.Este é o código de linha:
Preciso de solução, não altere o arquivo principal.
fonte
Permissão de bin / magento corrigida negada
chmod u + x bin / magento
fonte
Essas pastas precisam ter as permissões corretas, como descrito em: http://devdocs.magento.com/guides/v2.0/install-gde/install/file-system-perms.html
Quando você remove o conteúdo da pasta pub / static e concede a permissão 770 à pasta pub / static, a mensagem não será exibida novamente.
fonte
Eu tive o mesmo problema em que não consegui instalar o Magento através da linha de comando. Simplesmente criar a pasta
pub/static
resolveu o problema.fonte
Se alguém está tendo esse problema no sistema operacional Windows. Basta executar o comando em um prompt de comando do administrador e ele funcionará como um encanto. Espero que isso ajude alguém.
fonte
No meu caso, executar o comando upgrade através de um usuário não raiz ou um usuário com permissões limitadas estava causando o erro. Certifique-se de executar o comando upgrade com um usuário com permissões suficientes.
fonte
Eu verifiquei muitas vezes as permissões de gravação e tudo estava bem.
fonte
Execute o seguinte comando, para os três endereços IP a seguir:
fonte
não use isso:
ele removerá todos os arquivos, mesmo os arquivos .htaccess
você pode usar isso será melhor:
após esse uso:
fonte
basta remover a pasta pub / static do seu magento2
então implante conteúdo estático do magento2
usando esse processo, meu mesmo problema foi resolvido.
fonte
rm -r pub/static/*
e isso deve evitar a remoção do arquivo .htaccess.